Freigeben über


AttachVirtualHardDisk-Methode der Msvm_ImageManagementService-Klasse

Fügt eine virtuelle Festplattendatei im Loopbackmodus an.

Syntax

uint32 AttachVirtualHardDisk(
  [in]  string              Path,
  [in]  boolean             AssignDriveLetter,
  [in]  boolean             ReadOnly,
  [out] CIM_ConcreteJob REF Job
);

Parameter

Pfad [in]

Ein vollqualifizierter Pfad, der den Speicherort der anzufügenden virtuellen Festplattendatei angibt.

AssignDriveLetter [in]

Gibt an, ob laufwerksbuchstaben den Volumes des Datenträgers zugewiesen sind.

ReadOnly [in]

Gibt an, ob die angefügte Festplatte schreibgeschützt sein soll.

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

Verwenden Sie zum Trennen der virtuellen Festplatte die Msvm_MountedStorageImage.DetachVirtualHardDisk-Methode .

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 sie eine datei mit einer virtuellen Festplatte anfügen. Die referenzierten Hilfsprogramme finden Sie unter Allgemeine Hilfsprogramme für die Virtualisierungsbeispiele (V2).

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

    ManagementBaseObject inParams = imageService.GetMethodParameters("AttachVirtualHardDisk");
    inParams["Path"] = path;
    inParams["AssignDriveLetter"] = true;
    inParams["ReadOnly"] = false;
    ManagementBaseObject outParams = imageService.InvokeMethod("AttachVirtualHardDisk", inParams, null);
    if ((UInt32)outParams["ReturnValue"] == ReturnCode.Started)
    {
        if (Utility.JobCompleted(outParams, scope))
        {
            Console.WriteLine("{0} was attached successfully.", inParams["Path"]);
        }
        else
        {
            Console.WriteLine("Unable to attach {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

Msvm_MountedStorageImage.DetachVirtualHardDisk

Einbindung (V1)

Msvm_ImageManagementService