ResizeVirtualHardDisk-Methode der Msvm _ ImageManagementService-Klasse
Ändern der Größe einer vorhandenen virtuellen Festplatte. Die virtuelle Festplatte muss offline sein. Weitere Informationen finden Sie unter Hinweise zu Nutzungseinschränkungen für diese Methode.
Syntax
uint32 ResizeVirtualHardDisk(
[in] string Path,
[in] uint64 MaxInternalSize,
[out] CIM_ConcreteJob REF Job
);
Parameter
-
Pfad [ In]
-
Typ: Zeichenfolge
Der vollqualifizierte Pfad der virtuellen Festplattendatei.
-
MaxInternalSize [ In]
-
Typ: uint64
Die maximale Größe der virtuellen Festplatte in Byte, die vom virtuellen Computer angezeigt werden kann. MaxInternalSize minimum value is DiskSize + 512 - (DiskSize mod 512). DiskSize ist die Größe der virtuellen Festplattendatei in Bytes. Der InvalidParameter-Fehler (32773) wird zurückgegeben, wenn der angegebene MaxInternalSize-Wert kleiner als der Mindestwert ist.
-
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)
-
Überprüfte Methodenparameter – Auftrag gestartet (4096)
-
Fehler (32768)
-
Zugriff verweigert (32769)
-
Nicht unterstützt (32770)
-
Status ist unbekannt (32771)
-
Timeout (32772)
-
Ungültiger Parameter (32773)
-
System wird verwendet (32774)
-
Ungültiger Zustand für diesen Vorgang (32775)
-
Falscher Datentyp (32776)
-
System ist nicht verfügbar (32777)
-
Nicht genügend Arbeitsspeicher (32778)
-
Datei nicht gefunden (32779)
Hinweise
Mit dieser Methode können nur die folgenden Arten von virtuellen Festplatten verwendet werden, wenn die Größe der virtuellen Festplatte erhöht wird:
- Behobene VHD
- VHDX behoben
- Dynamische VHD
- Dynamische VHDX
- Unterscheidende VHDX
Mit dieser Methode können nur die folgenden Arten von virtuellen Festplatten verwendet werden, wenn die Größe der virtuellen Festplatte verringert wird:
- VHDX behoben
- Dynamische VHDX
- Unterscheidende VHDX
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 eine virtuelle Festplattendatei erweitert. Die referenzierten Hilfsprogramme finden Sie unter Allgemeine Hilfsprogramme für die Virtualisierungsbeispiele (V2).
const UInt64 size1G = 0x40000000;
public static void ResizeVirtualHardDisk(string path, UInt64 maxInternalSize)
{
ManagementScope scope = new ManagementScope(@"root\virtualization\V2", null);
ManagementObject imageService = Utility.GetServiceObject(scope, "Msvm_ImageManagementService");
ManagementBaseObject inParams = imageService.GetMethodParameters("ResizeVirtualHardDisk");
inParams["Path"] = path;
inParams["MaxInternalSize"] = maxInternalSize * size1G;
ManagementBaseObject outParams = imageService.InvokeMethod("ResizeVirtualHardDisk", inParams, null);
if ((UInt32)outParams["ReturnValue"] == ReturnCode.Started)
{
if (Utility.JobCompleted(outParams, scope))
{
Console.WriteLine("{0} was resized successfully.", inParams["Path"]);
}
else
{
Console.WriteLine("Unable to resize {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 |
|
| DLL |
|