Méthode DestroySystem de la classe Msvm_VirtualSystemManagementService
Supprime la machine virtuelle précédemment définie de l’étendue de gestion du système hôte. Toutes les définitions de ressources associées seront également supprimées. La machine virtuelle doit être à l’état hors tension ou enregistrée avant d’appeler cette méthode.
Syntaxe
uint32 DestroySystem(
[in] CIM_ComputerSystem REF AffectedSystem,
[out] CIM_ConcreteJob REF Job
);
Paramètres
-
AffectedSystem [in]
-
Type : CIM_ComputerSystem
Référence à une instance du CIM_ComputerSystem qui représente la machine virtuelle instance à détruire.
-
Travail [out]
-
Type : CIM_ConcreteJob
Si l’opération est effectuée de manière 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 manière synchrone, elle retourne 0 si elle réussit. Si cette méthode est exécutée de manière asynchrone, elle retourne 4096 et le paramètre de sortie du travail peut être utilisé pour suivre la progression de l’opération asynchrone. Toute autre valeur de retour indique une erreur.
-
Terminé avec aucune erreur (0)
-
Non pris en charge (1)
-
Échec (2)
-
Délai d’expiration (3)
-
Paramètre non valide (4)
-
État non valide (5)
-
DMTF Reserved (..)
-
Paramètres de méthode vérifiés - Travail démarré (4096)
-
Méthode réservée (4097..32767)
-
Spécifique au fournisseur (32768..65535)
Notes
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 une machine virtuelle planifiée. Ce code est extrait de l’exemple de machines virtuelles planifiées Hyper-V. Les utilitaires référencés se trouvent dans Utilitaires communs pour les exemples de virtualisation (V2).
Important
Pour fonctionner correctement, le code suivant doit être exécuté sur le serveur hôte de la machine virtuelle 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);
}
}
}
Spécifications
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 |
Root\Virtualization\V2 |
MOF |
|
DLL |
|