Método DestroySystem da classe Msvm_VirtualSystemManagementService
Remove a máquina virtual definida anteriormente do escopo de gerenciamento do sistema host. Todas as definições de recurso associadas também serão removidas. A máquina virtual deve estar no estado desligado ou salvo antes de chamar esse método.
Sintaxe
uint32 DestroySystem(
[in] CIM_ComputerSystem REF AffectedSystem,
[out] CIM_ConcreteJob REF Job
);
Parâmetros
-
AffectedSystem [in]
-
Tipo: CIM_ComputerSystem
Uma referência a uma instância do CIM_ComputerSystem que representa a instância da máquina virtual a ser destruída.
-
Trabalho [out]
-
Tipo: CIM_ConcreteJob
Se a operação for executada de forma assíncrona, esse método retornará 4096 e esse parâmetro conterá uma referência a um objeto derivado de CIM_ConcreteJob.
Valor retornado
Tipo: uint32
Se esse método for executado de forma síncrona, ele retornará 0 se for bem-sucedido. Se esse método for executado de forma assíncrona, ele retornará 4096 e o parâmetro de saída trabalho poderá ser usado para acompanhar o progresso da operação assíncrona. Qualquer outro valor retornado indica um erro.
-
Concluído sem erro (0)
-
Sem suporte (1)
-
Falha (2)
-
Tempo limite (3)
-
Parâmetro inválido (4)
-
Estado inválido (5)
-
DMTF Reservado (..)
-
Parâmetros de método verificados – Trabalho iniciado (4096)
-
Método Reservado (4097..32767)
-
Específico do fornecedor (32768..65535)
Comentários
O acesso à classe Msvm_VirtualSystemManagementService pode ser restrito pela Filtragem UAC. Para obter mais informações, consulte Controle de Conta de Usuário e WMI.
Exemplos
O exemplo de C# a seguir usa o método DestroySystem para remover uma máquina virtual planejada. Esse código é obtido do exemplo de máquinas virtuais planejadas do Hyper-V. Os utilitários referenciados podem ser encontrados em utilitários comuns para os exemplos de virtualização (V2).
Importante
Para funcionar corretamente, o código a seguir deve ser executado no servidor host da máquina virtual e deve ser executado com privilégios de administrador.
/// <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);
}
}
}
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte |
Windows 8 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte |
Windows Server 2012 [somente aplicativos da área de trabalho] |
Namespace |
Root\Virtualization\V2 |
MOF |
|
DLL |
|