Freigeben über


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
WindowsVirtualization.V2.mof
DLL
Vmms.exe

Siehe auch

Msvm_VirtualSystemManagementService