static string SerializeSystem(PropertyDataCollection properties) { NativeCimProperties obj = new NativeCimProperties(); foreach (var p in properties) { obj.Add(p.Name, p.Origin, p.IsArray, p.IsLocal, Transform(p.Type), p.Value); } return(NativeCimPropertiesHelper.Serialize(obj)); }
static string Serialize(PropertyDataCollection properties, bool isLocal) { NativeCimProperties obj = new NativeCimProperties(); foreach (var p in properties) { obj.Add(p.Name, p.Origin, p.IsArray, p.IsLocal, Transform(p.Type), p.Value); } obj.Add("PSShowComputerName", "", false, true, Microsoft.Management.Infrastructure.CimType.Boolean, true); obj.Add("PSComputerName", "", false, true, Microsoft.Management.Infrastructure.CimType.String, isLocal ? "localhost" : properties["__SERVER"].Value); return(NativeCimPropertiesHelper.Serialize(obj)); }
static string SerializeSystem(PropertyDataCollection properties) { NativeCimProperties obj = new NativeCimProperties(); foreach (var p in properties) { obj.Add(p.Name, p.Origin, p.IsArray, p.IsLocal, Transform(p.Type), p.Value); } return NativeCimPropertiesHelper.Serialize (obj); }
static string Serialize (PropertyDataCollection properties, bool isLocal) { NativeCimProperties obj = new NativeCimProperties(); foreach (var p in properties) { obj.Add(p.Name, p.Origin, p.IsArray, p.IsLocal, Transform(p.Type), p.Value); } obj.Add("PSShowComputerName", "", false, true, Microsoft.Management.Infrastructure.CimType.Boolean, true); obj.Add("PSComputerName", "", false, true, Microsoft.Management.Infrastructure.CimType.String, isLocal ? "localhost" : properties["__SERVER"].Value); return NativeCimPropertiesHelper.Serialize (obj); }
internal static unsafe void GetInstance(SessionHandle sessionHandle, MiOperationFlags operationFlags, OperationOptionsHandle operationOptionsHandle, string namespaceName, InstanceHandle instanceHandle, OperationCallbacks operationCallbacks, out OperationHandle operationHandle) { IntPtr sessionPtr = sessionHandle.DangerousGetHandle (); NativeDestinationOptions options = CimNativeApi.GetDestinationOptions (sessionHandle); operationHandle = new OperationHandle(IntPtr.Zero, true); operationHandle.SetOperationCallback(IntPtr.Zero.ToPointer ()); NativeCimInstance obj = new NativeCimInstance(); obj.Namespace = namespaceName; obj.ServerName = "localhost"; obj.SessionHandle = sessionPtr; var properties = new NativeCimProperties(); //properties.Keys = new string[] { "PSShowComputerName", "Name", "Status", "PSComputerName" }; //properties.Values = new object[] { true, "test1", "Started", "localhost" }; obj.Properties = NativeCimPropertiesHelper.Serialize (properties); IntPtr instancePtr = (IntPtr)CimNativeApi.MarshalledObject.Create<NativeCimInstance>(obj); InstanceHandle resultHandle = new InstanceHandle(instancePtr, true); operationCallbacks.InstanceResultCallback.Invoke (new OperationCallbackProcessingContext(operationCallbacks.ManagedOperationContext), operationHandle, resultHandle, false, MiResult.OK, null, null); /* _MI_OperationCallbacks _MIOperationCallback; _MI_OperationCallbacks* _MIOperationCallbacksPointer; DangerousHandleAccessor dangerousHandleAccessor = null; DangerousHandleAccessor dangerousHandleAccessor1 = null; DangerousHandleAccessor dangerousHandleAccessor2 = null; operationHandle = null; DangerousHandleAccessor dangerousHandleAccessor = new DangerousHandleAccessor(sessionHandle); try { dangerousHandleAccessor = dangerousHandleAccessor; DangerousHandleAccessor dangerousHandleAccessor1 = new DangerousHandleAccessor(instanceHandle); try { dangerousHandleAccessor1 = dangerousHandleAccessor1; DangerousHandleAccessor dangerousHandleAccessor2 = new DangerousHandleAccessor(operationOptionsHandle); try { dangerousHandleAccessor2 = dangerousHandleAccessor2; _MI_OperationOptions* _MIOperationOptionsPointer = (_MI_OperationOptions*)((void*)dangerousHandleAccessor2.DangerousGetHandle()); &_MIOperationCallback; 0; bool flag = operationCallbacks.SetMiOperationCallbacks(ref _MIOperationCallback); IntPtr hGlobalUni = Marshal.StringToHGlobalUni(namespaceName); IntPtr intPtr = hGlobalUni; try { _MI_Operation* _MIOperationPointer = (_MI_Operation*)<Module>.Microsoft.Management.Infrastructure.Native.MI_CLI_malloc_core((long)24); void* voidPointer = (void*)dangerousHandleAccessor.DangerousGetHandle(); if (flag) { _MIOperationCallbacksPointer = &_MIOperationCallback; } else { _MIOperationCallbacksPointer = (_MI_OperationCallbacks*)((long)0); } _MI_OperationCallbacks* _MIOperationCallbacksPointer1 = _MIOperationCallbacksPointer; IntPtr intPtr1 = dangerousHandleAccessor1.DangerousGetHandle(); <Module>.?A0xf16864c4.MI_Session_GetInstance((_MI_Session*)voidPointer, operationFlags, _MIOperationOptionsPointer, (void*)hGlobalUni, (void*)intPtr1, _MIOperationCallbacksPointer1, _MIOperationPointer); OperationHandle operationHandle = new OperationHandle((IntPtr)_MIOperationPointer, true); operationHandle = operationHandle; operationHandle.SetOperationCallback((long)_MIOperationCallback); } finally { if (intPtr != IntPtr.Zero) { Marshal.FreeHGlobal(intPtr); } } } dangerousHandleAccessor2.Dispose(); } dangerousHandleAccessor1.Dispose(); } dangerousHandleAccessor.Dispose(); */ }