Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }
        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);
        }