Freigeben über


ValidateVirtualHardDisk-Methode der Msvm_ImageManagementService-Klasse

Bestimmt, ob eine virtuelle Festplattendatei gültig ist.

Syntax

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

Parameter

Pfad [in]

Typ: Zeichenfolge

Ein vollqualifizierter Pfad, der den Speicherort der virtuellen Festplattendatei angibt.

Auftrag [out]

Typ: CIM_ConcreteJob

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

Typ: uint32

Diese Methode kann einen der folgenden Werte zurückgeben.

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)

Vhd-Differenzkettenzyklus erkannt (32787)

Bemerkungen

Wenn es sich bei der virtuellen Festplatte um einen differenzierenden Datenträger handelt, wird die gesamte virtuelle Datenträgerkette geöffnet. Wenn die Verknüpfung in der Datenträgerkette unterbrochen wird, wird ein Auftragsobjekt mit dem entsprechenden Fehler initialisiert zurückgegeben, und die untergeordneten und übergeordneten Eigenschaften werden an der Stelle initialisiert, an der die Verknüpfung unterbrochen wird.

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 ein Image einer virtuellen Festplatte überprüft. Die referenzierten Hilfsprogramme finden Sie unter Allgemeine Hilfsprogramme für die Virtualisierungsbeispiele (V2).

public static void ValidateVirtualHardDisk(string vhdPath)
{
    ManagementScope scope = new ManagementScope(@"root\virtualization\v2", null);
    ManagementObject imageService = Utility.GetServiceObject(scope, "Msvm_ImageManagementService");

    ManagementBaseObject inParams = imageService.GetMethodParameters("ValidateVirtualHardDisk");
    inParams["Path"] = vhdPath;
    ManagementBaseObject outParams = imageService.InvokeMethod("ValidateVirtualHardDisk", inParams, null);
    if ((UInt32)outParams["ReturnValue"] == ReturnCode.Started)
    {
        if (Utility.JobCompleted(outParams, scope))
        {
            Console.WriteLine("{0} is a valid virtual hard disk.", inParams["Path"]);
        }
        else
        {
            Console.WriteLine("Unable to validate {0}", inParams["Path"]);
        }
    }

    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

ValidateVirtualHardDisk (V1)

CIM_ConcreteJob

Msvm_ImageManagementService