Пример #1
0
        protected override void PropertySet(
            PSProperty property,
            object setValue,
            bool convertIfPossible)
        {
            if (!(property.baseObject is ManagementBaseObject))
            {
                throw new SetValueInvocationException("CannotSetNonManagementObjectMsg", (Exception)null, "ExtendedTypeSystem", "CannotSetNonManagementObject", new object[3]
                {
                    (object)property.Name,
                    (object)property.baseObject.GetType().FullName,
                    (object)typeof(ManagementBaseObject).FullName
                });
            }
            PropertyData pData = this.PropertyIsSettable(property) ? property.adapterData as PropertyData : throw new SetValueException("ReadOnlyWMIProperty", (Exception)null, "ExtendedTypeSystem", "ReadOnlyProperty", new object[1]
            {
                (object)property.Name
            });

            if (convertIfPossible && setValue != null)
            {
                Type dotNetType = BaseWMIAdapter.GetDotNetType(pData);
                setValue = Adapter.PropertySetAndMethodArgumentConvertTo(setValue, dotNetType, (IFormatProvider)CultureInfo.InvariantCulture);
            }
            pData.Value = setValue;
        }
Пример #2
0
        protected override string PropertyType(PSProperty property)
        {
            PropertyData adapterData            = property.adapterData as PropertyData;
            string       embeddedObjectTypeName = BaseWMIAdapter.GetDotNetType(adapterData).ToString();

            if (adapterData.Type == CimType.Object)
            {
                embeddedObjectTypeName = BaseWMIAdapter.GetEmbeddedObjectTypeName(adapterData);
                if (adapterData.IsArray)
                {
                    embeddedObjectTypeName += "[]";
                }
            }
            return(embeddedObjectTypeName);
        }
Пример #3
0
 internal static void UpdateParameters(
     ManagementBaseObject parameters,
     SortedList parametersList)
 {
     if (parameters == null)
     {
         return;
     }
     foreach (PropertyData property in parameters.Properties)
     {
         int num = -1;
         BaseWMIAdapter.WMIParameterInformation parameterInformation = new BaseWMIAdapter.WMIParameterInformation(property.Name, BaseWMIAdapter.GetDotNetType(property));
         try
         {
             num = (int)property.Qualifiers["ID"].Value;
         }
         catch (ManagementException ex)
         {
             Adapter.tracer.TraceException((Exception)ex);
         }
         if (num < 0)
         {
             num = parametersList.Count;
         }
         parametersList[(object)num] = (object)parameterInformation;
     }
 }