Freigeben über


GetVirtualHardDiskState-Methode der Msvm_ImageManagementService-Klasse

Ruft Zustandsinformationen für eine virtuelle Festplattendatei ab.

Syntax

uint32 GetVirtualHardDiskState(
  [in]  string              Path,
  [out] string              State,
  [out] CIM_ConcreteJob REF Job
);

Parameter

Pfad [in]

Der vollqualifizierte Pfad der Imagedatei des Datenträgers.

Zustand [out]

Empfängt bei erfolgreicher Ausführung eine eingebettete instance der Msvm_VirtualHardDiskState-Klasse, die die Statusinformationen für die virtuelle Festplatte enthält.

Auftrag [out]

Wenn der Vorgang asynchron ausgeführt wird, gibt diese Methode 4096 zurück, und dieser Parameter enthält einen Verweis auf ein Objekt, das von CIM_ConcreteJob abgeleitet wurde.

Rückgabewert

Diese Methode gibt einen der folgenden Werte zurück.

Abgeschlossen ohne Fehler (0)

Methodenparameter überprüft – Auftrag gestartet (4096)

Fehler (32768)

Zugriff verweigert (32769)

Nicht unterstützt (32770)

Status ist unbekannt (32771)

Timeout (32772)

Ungültiger Parameter (32773)

Das System wird verwendet (32774)

Ungültiger Status für diesen Vorgang (32775)

Falscher Datentyp (32776)

System ist nicht verfügbar (32777)

Nicht genügend Arbeitsspeicher (32778)

Datei nicht gefunden (32779)

Bemerkungen

Der Zugriff auf die Msvm_ImageManagementService-Klasse kann durch UAC-Filterung eingeschränkt werden. Weitere Informationen finden Sie unter Benutzerkontensteuerung und WMI.

Beispiele

Im folgenden C#-Beispiel wird gezeigt, wie die GetVirtualHardDiskState-Methode aufgerufen wird. Die referenzierten Hilfsprogramme finden Sie unter Allgemeine Hilfsprogramme für die Virtualisierungsbeispiele (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();
}

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows 8 [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows Server 2012 [nur Desktop-Apps]
Namespace
Root\Virtualization\V2
MOF
WindowsVirtualization.V2.mof
DLL
Vmms.exe

Siehe auch

Msvm_ImageManagementService