Méthode DestroySystem de la _ classe VirtualSystemManagementService MSVM

Supprime l’ordinateur virtuel précédemment défini de l’étendue de gestion du système hôte. Toutes les définitions de ressources associées seront également supprimées. L’ordinateur virtuel doit être dans l’État mis hors tension ou enregistré avant d’appeler cette méthode.

Syntaxe

uint32 DestroySystem(
  [in]  CIM_ComputerSystem REF AffectedSystem,
  [out] CIM_ConcreteJob    REF Job
);

Paramètres

AffectedSystem [ dans]

Type : CIM _ CIM

Référence à une instance du _ ComputerSystem CIM qui représente l’instance de machine virtuelle à détruire.

Travail [ à]

Type : CIM _ ConcreteJob

Si l’opération est effectuée de façon asynchrone, cette méthode retourne 4096 et ce paramètre contient une référence à un objet dérivé de CIM _ ConcreteJob.

Valeur retournée

Type : UInt32

Si cette méthode est exécutée de façon synchrone, elle retourne 0 si elle réussit. Si cette méthode est exécutée de façon asynchrone, elle retourne 4096 et le paramètre de sortie de la tâche peut être utilisé pour suivre la progression de l’opération asynchrone. Toute autre valeur de retour indique une erreur.

Terminé sans erreur (0)

Non pris en charge (1)

Échec (2)

Délai d’expiration (3)

Paramètre non valide (4)

État non valide (5)

DMTF réservé (..)

Paramètres de méthode activés-tâche démarrée (4096)

Méthode réservée (4097.. 32767)

Spécifique au fournisseur (32768.. 65535)

Remarques

L’accès à la classe MSVM _ VirtualSystemManagementService peut être limité par le filtrage UAC. Pour plus d’informations, consultez contrôle de compte d’utilisateur et WMI.

Exemples

L’exemple C# suivant utilise la méthode DestroySystem pour supprimer un ordinateur virtuel planifié. Ce code est extrait de l' exemple de machines virtuelles planifiées Hyper-V. Les utilitaires référencés se trouvent dans les utilitaires courants pour les exemples de virtualisation (v2).

Important

Pour fonctionner correctement, le code suivant doit être exécuté sur le serveur hôte de l’ordinateur virtuel et doit être exécuté avec des privilèges d’administrateur.

/// <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);
        }
    }
}

Configuration requise

Condition requise Valeur
Client minimal pris en charge
Windows 8 [ applications de bureau uniquement]
Serveur minimal pris en charge
Windows Server 2012 [ applications de bureau uniquement]
Espace de noms
\Virtualisation racine \ v2
MOF
WindowsVirtualization. v2. mof
DLL
Vmms.exe

Voir aussi

MSVM _ VirtualSystemManagementService