Beispiel #1
0
        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));
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
		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);
		}
Beispiel #4
0
		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);
		}
Beispiel #5
0
		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();
			*/
		}