Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Retrieves state information for a virtual hard disk file.
Syntax
uint32 GetVirtualHardDiskState(
  [in]  string              Path,
  [out] string              State,
  [out] CIM_ConcreteJob REF Job
);
Parameters
- 
Path [in] 
- 
The fully qualified path of the disk image file. 
- 
State [out] 
- 
If successful, receives an embedded instance of the Msvm_VirtualHardDiskState class that contains the state information for the virtual hard disk. 
- 
Job [out] 
- 
If the operation is performed asynchronously, this method will return 4096, and this parameter will contain a reference to an object derived from CIM_ConcreteJob. 
Return value
This method returns one of the following values.
- 
Completed with No Error (0) 
- 
Method Parameters Checked - Job Started (4096) 
- 
Failed (32768) 
- 
Access Denied (32769) 
- 
Not Supported (32770) 
- 
Status is unknown (32771) 
- 
Timeout (32772) 
- 
Invalid parameter (32773) 
- 
System is in use (32774) 
- 
Invalid state for this operation (32775) 
- 
Incorrect data type (32776) 
- 
System is not available (32777) 
- 
Out of memory (32778) 
- 
File not found (32779) 
Remarks
Access to the Msvm_ImageManagementService class might be restricted by UAC Filtering. For more information, see User Account Control and WMI.
Examples
The following C# example shows how to call the GetVirtualHardDiskState method. The referenced utilities can be found in Common utilities for the virtualization samples (V2).
public static void GetVirtualHardDiskState(string vhdPath)
{
    ManagementScope scope = new ManagementScope(@"root\virtualization\V2", null);
    ManagementObject imageService = Utility.GetServiceObject(scope, "Msvm_ImageManagementService");
    ManagementBaseObject inParams = imageService.GetMethodParameters("GetVirtualHardDiskState");
    inParams["Path"] = vhdPath;
    
    ManagementBaseObject outParams = imageService.InvokeMethod("GetVirtualHardDiskState", inParams, null);
    if ((UInt32)outParams["ReturnValue"] == ReturnCode.Started)
    {
        if (Utility.JobCompleted(outParams, scope))
        {
            Console.WriteLine("GetVirtualHardDiskState was successful.");
        }
        else
        {
            Console.WriteLine("GetVirtualHardDiskState was not successful.");
        }
    }
    else if ((UInt32)outParams["ReturnValue"] == ReturnCode.Completed)
    {
        string diskStateString = outParams["State"].ToString();
        Utility.PrintEmbeddedInstance(diskStateString);
    }
    outParams.Dispose();
    inParams.Dispose();
    imageService.Dispose();
}
Requirements
| Requirement | Value | 
|---|---|
| Minimum supported client | Windows 8 [desktop apps only] | 
| Minimum supported server | Windows Server 2012 [desktop apps only] | 
| Namespace | Root\Virtualization\V2 | 
| MOF | 
 | 
| DLL | 
 |