public static IVirtualHardDiskState Parse(ManagementScope scope, string embedded) { IVirtualHardDiskState virtualHardDiskState = VirtualHardDiskState.CreateVirtualHardDiskState(scope); XElement xelement = XElement.Parse(embedded); ManagementObject managementObject = ((IWMICommon)virtualHardDiskState).Object; foreach (XElement element in xelement.Elements((XName)"PROPERTY")) { switch (element.Attribute((XName)"TYPE").Value) { case "boolean": managementObject[element.Attribute((XName)"NAME").Value] = (object)Convert.ToBoolean(element.Value); continue; case "int32": managementObject[element.Attribute((XName)"NAME").Value] = (object)(string.IsNullOrEmpty(element.Value) ? 0 : Convert.ToInt32(element.Value)); continue; case "int64": managementObject[element.Attribute((XName)"NAME").Value] = (object)(string.IsNullOrEmpty(element.Value) ? 0L : Convert.ToInt64(element.Value)); continue; case "string": managementObject[element.Attribute((XName)"NAME").Value] = (object)element.Value; continue; case "uint16": managementObject[element.Attribute((XName)"NAME").Value] = (object)(string.IsNullOrEmpty(element.Value) ? 0 : (int)Convert.ToUInt16(element.Value)); continue; case "uint32": managementObject[element.Attribute((XName)"NAME").Value] = (object)(uint)(string.IsNullOrEmpty(element.Value) ? 0 : (int)Convert.ToUInt32(element.Value)); continue; case "uint64": managementObject[element.Attribute((XName)"NAME").Value] = (object)(ulong)(string.IsNullOrEmpty(element.Value) ? 0L : (long)Convert.ToUInt64(element.Value)); continue; default: continue; } } return(virtualHardDiskState); }
public static IVirtualHardDiskState CreateVirtualHardDiskState(IComputerSystem host) { return(VirtualHardDiskState.CreateVirtualHardDiskState(((IWMICommon)host).Scope)); }