DestroySystem-Methode der Msvm_VirtualSystemManagementService-Klasse
Entfernt den zuvor definierten virtuellen Computer aus dem Verwaltungsbereich des Hostsystems. Alle zugeordneten Ressourcendefinitionen werden ebenfalls entfernt. Der virtuelle Computer muss sich vor dem Aufrufen dieser Methode im ausgeschalteten oder gespeicherten Zustand befinden.
Syntax
uint32 DestroySystem(
[in] CIM_ComputerSystem REF AffectedSystem,
[out] CIM_ConcreteJob REF Job
);
Parameter
-
AffectedSystem [in]
-
Typ: CIM_ComputerSystem
Ein Verweis auf eine instance der CIM_ComputerSystem, die den zu zerstörenden virtuellen Computer darstellt instance.
-
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
Wenn diese Methode synchron ausgeführt wird, gibt sie 0 zurück, wenn sie erfolgreich ist. Wenn diese Methode asynchron ausgeführt wird, wird 4096 zurückgegeben, und der Job-Ausgabeparameter kann verwendet werden, um den Fortschritt des asynchronen Vorgangs nachzuverfolgen. Jeder andere Rückgabewert gibt einen Fehler an.
-
Abgeschlossen ohne Fehler (0)
-
Nicht unterstützt (1)
-
Fehler (2)
-
Timeout (3)
-
Ungültiger Parameter (4)
-
Ungültiger Zustand (5)
-
DMTF Reserviert (..)
-
Methodenparameter überprüft – Auftrag gestartet (4096)
-
Reservierte Methode (4097..32767)
-
Herstellerspezifisch (32768..65535)
Bemerkungen
Der Zugriff auf die Msvm_VirtualSystemManagementService-Klasse kann durch UAC-Filterung eingeschränkt werden. Weitere Informationen finden Sie unter Benutzerkontensteuerung und WMI.
Beispiele
Im folgenden C#-Beispiel wird die DestroySystem-Methode verwendet, um einen geplanten virtuellen Computer zu entfernen. Dieser Code stammt aus dem Hyper-V-Beispiel für geplante virtuelle Computer. Die referenzierten Hilfsprogramme finden Sie unter Allgemeine Hilfsprogramme für die Virtualisierungsbeispiele (V2).
Wichtig
Um ordnungsgemäß zu funktionieren, muss der folgende Code auf dem Hostserver des virtuellen Computers und mit Administratorrechten ausgeführt werden.
/// <summary>
/// Finds the first Planned VM matching pvmName and removes it.
/// </summary>
/// <param name="pvmName">The name of the PVM to be removed.</param>
internal static void
RemovePvm(
string pvmName
)
{
ManagementScope scope = new ManagementScope(@"root\virtualization\v2");
using (ManagementObject pvm = WmiUtilities.GetPlannedVirtualMachine(pvmName, scope))
using (ManagementObject managementService = WmiUtilities.GetVirtualMachineManagementService(scope))
using (ManagementBaseObject inParams =
managementService.GetMethodParameters("DestroySystem"))
{
inParams["AffectedSystem"] = pvm.Path;
Console.WriteLine("Removing Planned Virtual Machine \"{0}\" ({1})...",
pvm["ElementName"], pvm["Name"]);
using (ManagementBaseObject outParams =
managementService.InvokeMethod("DestroySystem", inParams, null))
{
WmiUtilities.ValidateOutput(outParams, scope);
}
}
}
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 |
|