internal static ManagementBaseObject GetBaseObject(IWbemClassObjectFreeThreaded wbemObject, ManagementScope scope) { if (_IsClass(wbemObject)) { return(ManagementClass.GetManagementClass(wbemObject, scope)); } return(ManagementObject.GetManagementObject(wbemObject, scope)); }
public ManagementClass Derive(string newClassName) { ManagementClass managementClass = null; if (newClassName != null) { ManagementPath managementPath = new ManagementPath(); try { managementPath.ClassName = newClassName; } catch { throw new ArgumentOutOfRangeException("newClassName"); } if (managementPath.IsClass) { if (base.PutButNotGot) { base.Get(); base.PutButNotGot = false; } IWbemClassObjectFreeThreaded wbemClassObjectFreeThreaded = null; int num = base.wbemObject.SpawnDerivedClass_(0, out wbemClassObjectFreeThreaded); if (num >= 0) { object obj1 = newClassName; num = wbemClassObjectFreeThreaded.Put_("__CLASS", 0, ref obj1, 0); if (num >= 0) { managementClass = ManagementClass.GetManagementClass(wbemClassObjectFreeThreaded, this); } } if (num < 0) { if (((long)num & (long)-4096) != (long)-2147217408) { Marshal.ThrowExceptionForHR(num); } else { ManagementException.ThrowWithExtendedInfo((ManagementStatus)num); } } return(managementClass); } else { throw new ArgumentOutOfRangeException("newClassName"); } } else { throw new ArgumentNullException("newClassName"); } }
internal static ManagementBaseObject GetBaseObject(IWbemClassObjectFreeThreaded wbemObject, ManagementScope scope) { ManagementBaseObject managementObject; if (!ManagementBaseObject._IsClass(wbemObject)) { managementObject = ManagementObject.GetManagementObject(wbemObject, scope); } else { managementObject = ManagementClass.GetManagementClass(wbemObject, scope); } return(managementObject); }
// Factory /// <summary> /// Factory for various types of base object /// </summary> /// <param name="wbemObject"> IWbemClassObject </param> /// <param name="scope"> The scope</param> internal static ManagementBaseObject GetBaseObject( IWbemClassObjectFreeThreaded wbemObject, ManagementScope scope) { ManagementBaseObject newObject = null; if (_IsClass(wbemObject)) { newObject = ManagementClass.GetManagementClass(wbemObject, scope); } else { newObject = ManagementObject.GetManagementObject(wbemObject, scope); } return(newObject); }
public override object Clone() { IWbemClassObjectFreeThreaded wbemClassObjectFreeThreaded = null; int num = base.wbemObject.Clone_(out wbemClassObjectFreeThreaded); if (num < 0) { if (((long)num & (long)-4096) != (long)-2147217408) { Marshal.ThrowExceptionForHR(num); } else { ManagementException.ThrowWithExtendedInfo((ManagementStatus)num); } } return(ManagementClass.GetManagementClass(wbemClassObjectFreeThreaded, this)); }