internal SharedInstanceHandle(InstanceHandle handle, SharedInstanceHandle parent) : this(handle) { this._parent = parent; if (this._parent != null) { this._parent.AddRef(); } }
internal static MiResult Initialize(int p1, string p2, out InstanceHandle instanceHandle, out ApplicationHandle applicationHandle) { NativeCimApplication app = new NativeCimApplication(); app.Id = p1; app.Target = p2; IntPtr appPtr = CimNativeApi.MarshalledObject.Create<NativeCimApplication>(app); applicationHandle = new ApplicationHandle(appPtr); NewInstance (applicationHandle, p2, null, out instanceHandle); return MiResult.OK; }
internal static MiResult NewSession (ApplicationHandle handle, string protocol, string str1, DestinationOptionsHandle destinationOptionsHandle, out InstanceHandle instanceHandle, out SessionHandle sessionHandle) { string p1 = string.IsNullOrEmpty (str1) ? "localhost" : str1; //.Substring(1, str1.Length - 2); NewInstance (handle, p1, null, out instanceHandle); NativeCimSession session = new NativeCimSession(); session.Protocol = protocol; session.ServerName = p1; session.DestinationOptions = destinationOptionsHandle == null ? IntPtr.Zero : destinationOptionsHandle.DangerousGetHandle (); IntPtr sessionPtr = (IntPtr)CimNativeApi.MarshalledObject.Create<NativeCimSession>(session); sessionHandle = new SessionHandle(sessionPtr); return MiResult.OK; }
internal static unsafe MiResult GetClass(OperationHandle operationHandle, out ClassHandle classHandle, out bool moreResults, out MiResult result, out string errorMessage, out InstanceHandle completionDetails) { result = MiResult.OK; classHandle = null; completionDetails = null; errorMessage = ""; moreResults = false; return MiResult.OK; /* int num; classHandle = null; moreResults = false; result = MiResult.OK; errorMessage = null; completionDetails = null; _MI_Class modopt(System.Runtime.CompilerServices.IsConst)* _MIClass modopt(System.Runtime.CompilerServices.IsConst)Pointer = (_MI_Class modopt(System.Runtime.CompilerServices.IsConst)*)((long)0); byte num1 = 0; _MI_Result _MIResult = 0; UInt16 modopt(System.Runtime.CompilerServices.IsConst)* uInt16 modopt(System.Runtime.CompilerServices.IsConst)Pointer = (UInt16 modopt(System.Runtime.CompilerServices.IsConst)*)((long)0); _MI_Instance modopt(System.Runtime.CompilerServices.IsConst)* _MIInstance modopt(System.Runtime.CompilerServices.IsConst)Pointer = (_MI_Instance modopt(System.Runtime.CompilerServices.IsConst)*)((long)0); _MI_Result modopt(System.Runtime.CompilerServices.CallConvCdecl) _MIResult modopt(System.Runtime.CompilerServices.CallConvCdecl) = (_MI_Result)<Module>.?A0xf5a90918.MI_Operation_GetClass((void*)operationHandle.DangerousGetHandle(), ref (_MI_Class modopt(System.Runtime.CompilerServices.IsConst)*)((long)0), ref num1, (_MI_Result*)(&_MIResult), ref (UInt16 modopt(System.Runtime.CompilerServices.IsConst)*)((long)0), ref (_MI_Instance modopt(System.Runtime.CompilerServices.IsConst)*)((long)0)); if ((_MI_Class modopt(System.Runtime.CompilerServices.IsConst)*)((long)0) != null) { IntPtr intPtr = (IntPtr)_MIClass modopt(System.Runtime.CompilerServices.IsConst)Pointer; classHandle = new ClassHandle(intPtr, false); } if (0 != num1) { num = 1; } else { num = 0; } int num2 = num; moreResults = num2; result = (MiResult)_MIResult; if (_MIInstance modopt(System.Runtime.CompilerServices.IsConst)Pointer != null) { IntPtr intPtr1 = (IntPtr)_MIInstance modopt(System.Runtime.CompilerServices.IsConst)Pointer; completionDetails = new InstanceHandle(intPtr1, false); } if (uInt16 modopt(System.Runtime.CompilerServices.IsConst)Pointer != null) { IntPtr intPtr2 = (IntPtr)uInt16 modopt(System.Runtime.CompilerServices.IsConst)Pointer; errorMessage = Marshal.PtrToStringUni(intPtr2); } return (MiResult)_MIResult modopt(System.Runtime.CompilerServices.CallConvCdecl); */ }
internal static MiResult NewInstance(ApplicationHandle applicationHandle, string p1, object p2, out InstanceHandle instanceHandle) { NativeCimInstance instance = new NativeCimInstance(); instance.CimClassName = p1; instance.ClassName = p1; instance.Properties = NativeCimPropertiesHelper.Serialize (new NativeCimProperties()); instance.SystemProperties = NativeCimPropertiesHelper.Serialize (new NativeCimProperties()); instance.Namespace = "root/cimv2"; instance.ServerName = "localhost"; instance.Qualifiers = NativeCimQualifiersHelper.Serialize (new NativeCimQualifiers()); IntPtr instancePtr = CimNativeApi.MarshalledObject.Create<NativeCimInstance>(instance); instanceHandle = new InstanceHandle(instancePtr, false); return MiResult.OK; }
public static MiResult GetElementAt_GetType (InstanceHandle handle, int _index, out MiType miType) { NativeCimInstance instance = CimNativeApi.MarshalledObject.FromPointer<NativeCimInstance> (handle.DangerousGetHandle ()); var properties = NativeCimPropertiesHelper.Deserialize (PropertiesOrSystem(instance)); int i = 0; miType = MiType.Boolean; foreach (var element in properties) { if (i == _index) { Type type = element.Value.GetType (); miType = CimConverter.GetCimType (type).ToMiType(); break; } i++; } return MiResult.OK; }
internal SharedInstanceHandle(InstanceHandle handle) { this._numberOfReferencesLock = new object(); this._numberOfReferences = 1; this._handle = handle; }
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(); */ }
public static MiResult ClearElementAt (InstanceHandle handle, int _index) { NativeCimInstance instance = CimNativeApi.MarshalledObject.FromPointer<NativeCimInstance> (handle.DangerousGetHandle ()); var properties = NativeCimPropertiesHelper.Deserialize (PropertiesOrSystem(instance)); properties.ElementAt(_index).Value = null; instance.Properties = NativeCimPropertiesHelper.Serialize (properties); handle.DangerousSetHandle ((IntPtr)CimNativeApi.MarshalledObject.Create<NativeCimInstance>(instance)); return MiResult.OK; }
public static MiResult GetElementCount (InstanceHandle handle, out int num) { NativeCimInstance instance = CimNativeApi.MarshalledObject.FromPointer<NativeCimInstance> (handle.DangerousGetHandle ()); var properties = NativeCimPropertiesHelper.Deserialize (PropertiesOrSystem(instance)); num = properties.Count; return MiResult.OK; }
internal CimInstance(InstanceHandle handle, SharedInstanceHandle parentHandle) { this._CimSessionInstanceID = Guid.Empty; this._myHandle = new SharedInstanceHandle(handle, parentHandle); }
internal static unsafe void CreateInstance(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 ()); var currentContext = new OperationCallbackProcessingContext (operationCallbacks.ManagedOperationContext); /* _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_CreateInstance((_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(); */ }
internal static unsafe void QueryInstances (SessionHandle sessionHandle, MiOperationFlags operationFlags, OperationOptionsHandle operationOptionsHandle, string namespaceName, string queryDialect, string queryExpression, bool keysOnly, 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 ()); int i = 0; var instances = CimNativeApi.QueryInstances (options, namespaceName, queryDialect, queryExpression, keysOnly); var currentContext = new OperationCallbackProcessingContext (operationCallbacks.ManagedOperationContext); int count = instances.Count (); if (count > 0) { foreach (var obj in instances) { obj.ClassName = null; obj.SessionHandle = sessionPtr; IntPtr instancePtr = (IntPtr)CimNativeApi.MarshalledObject.Create<NativeCimInstance> (obj); InstanceHandle resultHandle = new InstanceHandle (instancePtr, true); operationCallbacks.InstanceResultCallback.Invoke (currentContext, operationHandle, resultHandle, i < count - 1, MiResult.OK, null, null); i++; } } else { InstanceHandle resultHandle = new InstanceHandle (IntPtr.Zero, true); operationCallbacks.InstanceResultCallback.Invoke (currentContext, operationHandle, resultHandle, false, MiResult.NOT_FOUND, null, null); } /* _MI_OperationCallbacks _MIOperationCallback; _MI_OperationCallbacks* _MIOperationCallbacksPointer; DangerousHandleAccessor dangerousHandleAccessor = null; DangerousHandleAccessor dangerousHandleAccessor1 = null; operationHandle = null; DangerousHandleAccessor dangerousHandleAccessor = new DangerousHandleAccessor(sessionHandle); try { dangerousHandleAccessor = dangerousHandleAccessor; DangerousHandleAccessor dangerousHandleAccessor1 = new DangerousHandleAccessor(operationOptionsHandle); try { dangerousHandleAccessor1 = dangerousHandleAccessor1; _MI_OperationOptions* _MIOperationOptionsPointer = (_MI_OperationOptions*)((void*)dangerousHandleAccessor1.DangerousGetHandle()); &_MIOperationCallback; 0; bool flag = operationCallbacks.SetMiOperationCallbacks(ref _MIOperationCallback); IntPtr hGlobalUni = Marshal.StringToHGlobalUni(namespaceName); IntPtr intPtr = hGlobalUni; try { IntPtr hGlobalUni1 = Marshal.StringToHGlobalUni(queryDialect); IntPtr intPtr1 = hGlobalUni1; try { IntPtr hGlobalUni2 = Marshal.StringToHGlobalUni(queryExpression); IntPtr intPtr2 = hGlobalUni2; 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; <Module>.?A0xf16864c4.MI_Session_QueryInstances((_MI_Session*)voidPointer, operationFlags, _MIOperationOptionsPointer, (void*)hGlobalUni, (void*)hGlobalUni1, (void*)hGlobalUni2, _MIOperationCallbacksPointer1, _MIOperationPointer); OperationHandle operationHandle = new OperationHandle((IntPtr)_MIOperationPointer, true); operationHandle = operationHandle; operationHandle.SetOperationCallback((long)_MIOperationCallback); } finally { if (intPtr2 != IntPtr.Zero) { Marshal.FreeHGlobal(intPtr2); } } } finally { if (intPtr1 != IntPtr.Zero) { Marshal.FreeHGlobal(intPtr1); } } } finally { if (intPtr != IntPtr.Zero) { Marshal.FreeHGlobal(intPtr); } } } dangerousHandleAccessor1.Dispose(); } dangerousHandleAccessor.Dispose(); */ }
internal static unsafe void Invoke(SessionHandle sessionHandle, MiOperationFlags operationFlags, OperationOptionsHandle operationOptionsHandle, string namespaceName, string className, string methodName, InstanceHandle instanceHandleForTargetOfInvocation, InstanceHandle instanceHandleForMethodParameters, OperationCallbacks operationCallbacks, out OperationHandle operationHandle) { NativeDestinationOptions options = CimNativeApi.GetDestinationOptions (sessionHandle); operationHandle = new OperationHandle(IntPtr.Zero, true); operationHandle.SetOperationCallback(IntPtr.Zero.ToPointer ()); NativeCimInstance instance = instanceHandleForTargetOfInvocation == null ? new NativeCimInstance() : CimNativeApi.MarshalledObject.FromPointer<NativeCimInstance>(instanceHandleForTargetOfInvocation.DangerousGetHandle ()); NativeCimInstance inSignature = instanceHandleForMethodParameters == null ? new NativeCimInstance() : CimNativeApi.MarshalledObject.FromPointer<NativeCimInstance>(instanceHandleForMethodParameters.DangerousGetHandle ()); NativeCimInstance result = CimNativeApi.InvokeMethod(options, namespaceName, className, methodName, instance, inSignature); IntPtr instancePtr = (IntPtr)CimNativeApi.MarshalledObject.Create<NativeCimInstance>(result); 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; DangerousHandleAccessor dangerousHandleAccessor3 = null; operationHandle = null; DangerousHandleAccessor dangerousHandleAccessor = new DangerousHandleAccessor(sessionHandle); try { dangerousHandleAccessor = dangerousHandleAccessor; DangerousHandleAccessor dangerousHandleAccessor1 = new DangerousHandleAccessor(operationOptionsHandle); try { dangerousHandleAccessor1 = dangerousHandleAccessor1; _MI_OperationOptions* _MIOperationOptionsPointer = (_MI_OperationOptions*)((void*)dangerousHandleAccessor1.DangerousGetHandle()); &_MIOperationCallback; 0; bool flag = operationCallbacks.SetMiOperationCallbacks(ref _MIOperationCallback); IntPtr hGlobalUni = Marshal.StringToHGlobalUni(namespaceName); IntPtr intPtr = hGlobalUni; try { IntPtr hGlobalUni1 = Marshal.StringToHGlobalUni(className); IntPtr intPtr1 = hGlobalUni1; try { IntPtr hGlobalUni2 = Marshal.StringToHGlobalUni(methodName); IntPtr intPtr2 = hGlobalUni2; try { _MI_Operation* _MIOperationPointer = (_MI_Operation*)<Module>.Microsoft.Management.Infrastructure.Native.MI_CLI_malloc_core((long)24); DangerousHandleAccessor dangerousHandleAccessor2 = new DangerousHandleAccessor(instanceHandleForTargetOfInvocation); try { dangerousHandleAccessor2 = dangerousHandleAccessor2; _MI_Instance* _MIInstancePointer = (_MI_Instance*)((void*)dangerousHandleAccessor2.DangerousGetHandle()); DangerousHandleAccessor dangerousHandleAccessor3 = new DangerousHandleAccessor(instanceHandleForMethodParameters); try { dangerousHandleAccessor3 = dangerousHandleAccessor3; _MI_Instance* _MIInstancePointer1 = (_MI_Instance*)((void*)dangerousHandleAccessor3.DangerousGetHandle()); void* voidPointer = (void*)dangerousHandleAccessor.DangerousGetHandle(); if (flag) { _MIOperationCallbacksPointer = &_MIOperationCallback; } else { _MIOperationCallbacksPointer = (_MI_OperationCallbacks*)((long)0); } _MI_OperationCallbacks* _MIOperationCallbacksPointer1 = _MIOperationCallbacksPointer; <Module>.?A0xf16864c4.MI_Session_Invoke((_MI_Session*)voidPointer, operationFlags, _MIOperationOptionsPointer, (void*)hGlobalUni, (void*)hGlobalUni1, (void*)hGlobalUni2, _MIInstancePointer, _MIInstancePointer1, _MIOperationCallbacksPointer1, _MIOperationPointer); OperationHandle operationHandle = new OperationHandle((IntPtr)_MIOperationPointer, true); operationHandle = operationHandle; operationHandle.SetOperationCallback((long)_MIOperationCallback); } dangerousHandleAccessor3.Dispose(); } dangerousHandleAccessor2.Dispose(); } finally { if (intPtr2 != IntPtr.Zero) { Marshal.FreeHGlobal(intPtr2); } } } finally { if (intPtr1 != IntPtr.Zero) { Marshal.FreeHGlobal(intPtr1); } } } finally { if (intPtr != IntPtr.Zero) { Marshal.FreeHGlobal(intPtr); } } } dangerousHandleAccessor1.Dispose(); } dangerousHandleAccessor.Dispose(); */ }
internal static unsafe MiResult GetIndication(OperationHandle operationHandle, out InstanceHandle instanceHandle, out string bookmark, out string machineID, out bool moreResults, out MiResult result, out string errorMessage, out InstanceHandle completionDetails) { moreResults = false; machineID = System.Net.Dns.GetHostName (); errorMessage = ""; bookmark = null; instanceHandle = null; result = MiResult.OK; instanceHandle = null; completionDetails = null; return MiResult.OK; /* int num; instanceHandle = null; moreResults = false; result = MiResult.OK; errorMessage = null; bookmark = null; machineID = null; completionDetails = null; _MI_Instance modopt(System.Runtime.CompilerServices.IsConst)* _MIInstance modopt(System.Runtime.CompilerServices.IsConst)Pointer = (_MI_Instance modopt(System.Runtime.CompilerServices.IsConst)*)((long)0); UInt16 modopt(System.Runtime.CompilerServices.IsConst)* uInt16 modopt(System.Runtime.CompilerServices.IsConst)Pointer = (UInt16 modopt(System.Runtime.CompilerServices.IsConst)*)((long)0); UInt16 modopt(System.Runtime.CompilerServices.IsConst)* uInt16 modopt(System.Runtime.CompilerServices.IsConst)Pointer1 = (UInt16 modopt(System.Runtime.CompilerServices.IsConst)*)((long)0); byte num1 = 0; _MI_Result _MIResult = 0; UInt16 modopt(System.Runtime.CompilerServices.IsConst)* uInt16 modopt(System.Runtime.CompilerServices.IsConst)Pointer2 = (UInt16 modopt(System.Runtime.CompilerServices.IsConst)*)((long)0); _MI_Instance modopt(System.Runtime.CompilerServices.IsConst)* _MIInstance modopt(System.Runtime.CompilerServices.IsConst)Pointer1 = (_MI_Instance modopt(System.Runtime.CompilerServices.IsConst)*)((long)0); _MI_Result modopt(System.Runtime.CompilerServices.CallConvCdecl) _MIResult modopt(System.Runtime.CompilerServices.CallConvCdecl) = (_MI_Result)<Module>.?A0xf5a90918.MI_Operation_GetIndication((void*)operationHandle.DangerousGetHandle(), ref (_MI_Instance modopt(System.Runtime.CompilerServices.IsConst)*)((long)0), ref (UInt16 modopt(System.Runtime.CompilerServices.IsConst)*)((long)0), ref (UInt16 modopt(System.Runtime.CompilerServices.IsConst)*)((long)0), ref num1, (_MI_Result*)(&_MIResult), ref (UInt16 modopt(System.Runtime.CompilerServices.IsConst)*)((long)0), ref (_MI_Instance modopt(System.Runtime.CompilerServices.IsConst)*)((long)0)); if ((_MI_Instance modopt(System.Runtime.CompilerServices.IsConst)*)((long)0) != null) { IntPtr intPtr = (IntPtr)_MIInstance modopt(System.Runtime.CompilerServices.IsConst)Pointer; instanceHandle = new InstanceHandle(intPtr, false); } if (0 != num1) { num = 1; } else { num = 0; } int num2 = num; moreResults = num2; result = (MiResult)_MIResult; if (_MIInstance modopt(System.Runtime.CompilerServices.IsConst)Pointer1 != null) { IntPtr intPtr1 = (IntPtr)_MIInstance modopt(System.Runtime.CompilerServices.IsConst)Pointer1; completionDetails = new InstanceHandle(intPtr1, false); } if (uInt16 modopt(System.Runtime.CompilerServices.IsConst)Pointer2 != null) { IntPtr intPtr2 = (IntPtr)uInt16 modopt(System.Runtime.CompilerServices.IsConst)Pointer2; errorMessage = Marshal.PtrToStringUni(intPtr2); } if (uInt16 modopt(System.Runtime.CompilerServices.IsConst)Pointer != null) { IntPtr intPtr3 = (IntPtr)uInt16 modopt(System.Runtime.CompilerServices.IsConst)Pointer; bookmark = Marshal.PtrToStringUni(intPtr3); } if (uInt16 modopt(System.Runtime.CompilerServices.IsConst)Pointer1 != null) { IntPtr intPtr4 = (IntPtr)uInt16 modopt(System.Runtime.CompilerServices.IsConst)Pointer1; machineID = Marshal.PtrToStringUni(intPtr4); } return (MiResult)_MIResult modopt(System.Runtime.CompilerServices.CallConvCdecl); */ }
public static MiResult AddElement (InstanceHandle handle, string name, object obj, object par, MiFlags miFlags) { NativeCimInstance instance = CimNativeApi.MarshalledObject.FromPointer<NativeCimInstance>(handle.DangerousGetHandle ()); NativeCimProperties properties = NativeCimPropertiesHelper.Deserialize (instance.Properties); CimType type = CimConverter.GetCimType (obj.GetType ()); properties.Add (new NativeCimProperty { Name = name, Type = type, Origin = "client", IsArray = false, IsLocal = false, Value = obj }); instance.Properties = NativeCimPropertiesHelper.Serialize (properties); handle.DangerousSetHandle ((IntPtr)CimNativeApi.MarshalledObject.Create<NativeCimInstance>(instance)); return MiResult.OK; }
public static MiResult GetElement_GetIndex (InstanceHandle handle, string propertyName, out int num) { NativeCimInstance instance = CimNativeApi.MarshalledObject.FromPointer<NativeCimInstance> (handle.DangerousGetHandle ()); var properties = NativeCimPropertiesHelper.Deserialize (PropertiesOrSystem(instance)); num = -1; int i = 0; foreach(var element in properties) { if (element.Name == propertyName) { num = i; break; } i++; } return MiResult.OK; }
internal void WriteErrorCallbackInternal(OperationCallbackProcessingContext callbackProcessingContext, OperationHandle operationHandle, InstanceHandle instanceHandle, out MIResponseType response) { response = MIResponseType.MIResponseTypeYes; if (this._writeErrorCallback != null) { CimInstance cimInstance = null; using (cimInstance) { if (instanceHandle != null) { cimInstance = new CimInstance(instanceHandle, null); //CimAsyncCallbacksReceiverBase managedOperationContext = (CimAsyncCallbacksReceiverBase)callbackProcessingContext.ManagedOperationContext; CimResponseType userResponse = CimResponseType.None; //managedOperationContext.CallIntoUserCallback(callbackProcessingContext, () => userResponse = this._writeErrorCallback(cimInstance), false, false); response = (MIResponseType)userResponse; } } } }
internal static unsafe void ReferenceInstances(SessionHandle sessionHandle, MiOperationFlags operationFlags, OperationOptionsHandle operationOptionsHandle, string namespaceName, InstanceHandle sourceInstance, string associationClassName, string sourceRole, bool keysOnly, OperationCallbacks operationCallbacks, out OperationHandle operationHandle) { operationHandle = 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(sourceInstance); 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 { IntPtr hGlobalUni1 = Marshal.StringToHGlobalUni(associationClassName); IntPtr intPtr1 = hGlobalUni1; try { IntPtr hGlobalUni2 = Marshal.StringToHGlobalUni(sourceRole); IntPtr intPtr2 = hGlobalUni2; 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 intPtr3 = dangerousHandleAccessor1.DangerousGetHandle(); <Module>.?A0xf16864c4.MI_Session_ReferenceInstances((_MI_Session*)voidPointer, operationFlags, _MIOperationOptionsPointer, (void*)hGlobalUni, (void*)intPtr3, (void*)hGlobalUni1, (void*)hGlobalUni2, keysOnly, _MIOperationCallbacksPointer1, _MIOperationPointer); OperationHandle operationHandle = new OperationHandle((IntPtr)_MIOperationPointer, true); operationHandle = operationHandle; operationHandle.SetOperationCallback((long)_MIOperationCallback); } finally { if (intPtr2 != IntPtr.Zero) { Marshal.FreeHGlobal(intPtr2); } } } finally { if (intPtr1 != IntPtr.Zero) { Marshal.FreeHGlobal(intPtr1); } } } finally { if (intPtr != IntPtr.Zero) { Marshal.FreeHGlobal(intPtr); } } } dangerousHandleAccessor2.Dispose(); } dangerousHandleAccessor1.Dispose(); } dangerousHandleAccessor.Dispose(); */ }
internal static void GetCimErrorFromMiResult(MiResult errorCode, string errorMessage, out InstanceHandle errorDetailsHandle) { errorDetailsHandle = new InstanceHandle(IntPtr.Zero, false); }
public static MiResult SetElementAt_SetNotModifiedFlag (InstanceHandle handle, int _index, bool flag) { return MiResult.OK; }
public static MiResult GetElementAt_GetFlags (InstanceHandle handle, int _index, out MiFlags miFlag) { miFlag = MiFlags.PROPERTY; return MiResult.OK; }
public static MiResult GetElementAt_GetName (InstanceHandle handle, int _index, out string str) { NativeCimInstance instance = CimNativeApi.MarshalledObject.FromPointer<NativeCimInstance> (handle.DangerousGetHandle ()); var properties = NativeCimPropertiesHelper.Deserialize (PropertiesOrSystem(instance)); int i = 0; str = null; foreach (var element in properties) { if (i == _index) { str = element.Name; break; } i++; } return MiResult.OK; }
internal CimSubscriptionResult(InstanceHandle handle, string bookmark, string machineId) { this._resultInstance = new CimInstance(handle, null); this._bookmark = bookmark; this._machineId = machineId; }
public static MiResult GetElementAt_GetValue (InstanceHandle handle, int _index, out object obj) { NativeCimInstance instance = CimNativeApi.MarshalledObject.FromPointer<NativeCimInstance> (handle.DangerousGetHandle ()); obj = null; if (_index != -1) { var properties = NativeCimPropertiesHelper.Deserialize (PropertiesOrSystem(instance)); var element = properties.ElementAtOrDefault (_index); obj = element.Value; } return MiResult.OK; }
internal static object ConvertToNativeLayer(object value, CimType cimType) { CimInstance cimInstance = value as CimInstance; if (cimInstance == null) { CimInstance[] cimInstanceArray = value as CimInstance[]; if (cimInstanceArray == null) { if (cimType != CimType.Unknown) { return CimProperty.ConvertToNativeLayer(value, cimType); } else { return value; } } else { InstanceHandle[] instanceHandle = new InstanceHandle[(int)cimInstanceArray.Length]; for (int i = 0; i < (int)cimInstanceArray.Length; i++) { CimInstance cimInstance1 = cimInstanceArray[i]; if (cimInstance1 != null) { instanceHandle[i] = cimInstance1.InstanceHandle; } else { instanceHandle[i] = null; } } return instanceHandle; } } else { return cimInstance.InstanceHandle; } }
internal static unsafe void TestConnection(SessionHandle sessionHandle, MiOperationFlags operationFlags, OperationCallbacks operationCallbacks, out OperationHandle operationHandle) { operationHandle = new OperationHandle(IntPtr.Zero, true); operationHandle.SetOperationCallback(IntPtr.Zero.ToPointer ()); NativeCimSession session = CimNativeApi.MarshalledObject.FromPointer<NativeCimSession>(sessionHandle.DangerousGetHandle ()); IntPtr instancePtr = (IntPtr)CimNativeApi.MarshalledObject.Create<NativeCimSession>(session); InstanceHandle testInstance = new InstanceHandle(instancePtr, false); var context = new OperationCallbackProcessingContext(operationCallbacks.ManagedOperationContext); operationCallbacks.InstanceResultCallback.Invoke (context, operationHandle, testInstance, false, MiResult.OK, null, null); /* _MI_OperationCallbacks _MIOperationCallback; _MI_OperationCallbacks* _MIOperationCallbacksPointer; DangerousHandleAccessor dangerousHandleAccessor = null; DangerousHandleAccessor dangerousHandleAccessor1 = null; operationHandle = null; DangerousHandleAccessor dangerousHandleAccessor = new DangerousHandleAccessor(sessionHandle); try { dangerousHandleAccessor = dangerousHandleAccessor; &_MIOperationCallback; 0; bool flag = operationCallbacks.SetMiOperationCallbacks(ref _MIOperationCallback); _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; <Module>.?A0xf16864c4.MI_Session_TestConnection((_MI_Session*)voidPointer, operationFlags, _MIOperationCallbacksPointer1, _MIOperationPointer); OperationHandle operationHandle = new OperationHandle((IntPtr)_MIOperationPointer, true); operationHandle = operationHandle; DangerousHandleAccessor dangerousHandleAccessor1 = new DangerousHandleAccessor(operationHandle); try { dangerousHandleAccessor1 = dangerousHandleAccessor1; } dangerousHandleAccessor1.Dispose(); } dangerousHandleAccessor.Dispose(); */ }