/// <summary> /// <para>Provides a clone of the object</para> /// </summary> /// <returns> /// The new clone object /// </returns> public virtual Object Clone() { Initialize(); IWbemClassObjectFreeThreaded theClone = null; int status = (int)ManagementStatus.NoError; status = wbemObject.Clone_(out theClone); if (status < 0) { if ((status & 0xfffff000) == 0x80041000) { ManagementException.ThrowWithExtendedInfo((ManagementStatus)status); } else { Marshal.ThrowExceptionForHR(status); } } return(new ManagementBaseObject(theClone)); }