示例#1
0
 public IVirtualHardDiskState GetVirtualHardDiskState(string path)
 {
     using (ManagementBaseObject methodParameters = this._Instance.GetMethodParameters(nameof(GetVirtualHardDiskState)))
     {
         methodParameters["Path"] = (object)path;
         using (ManagementBaseObject managementBaseObject = this._Instance.InvokeAndWait(nameof(GetVirtualHardDiskState), methodParameters))
         {
             if (managementBaseObject["State"] != null)
             {
                 return(VirtualHardDiskState.Parse(this._Instance.Scope, (string)managementBaseObject["State"]));
             }
         }
     }
     throw new HyperVException("Problems getting the hard disk state for " + path);
 }
示例#2
0
        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);
        }
示例#3
0
 public static IVirtualHardDiskState CreateVirtualHardDiskState(IComputerSystem host)
 {
     return(VirtualHardDiskState.CreateVirtualHardDiskState(((IWMICommon)host).Scope));
 }