Compartilhar via


Método ValidatePlannedSystem da classe Msvm_VirtualSystemManagementService

Valida o sistema planejado especificado. Isso envolve verificações da configuração da máquina virtual, dispositivos, configuração de instantâneo, dispositivos de instantâneo, arquivos de estado salvos e arquivos de armazenamento.

Sintaxe

uint32 ValidatePlannedSystem(
  [in]  Msvm_PlannedComputerSystem REF PlannedSystem,
  [out] CIM_ConcreteJob            REF Job
);

Parâmetros

PlannedSystem [in]

Uma referência a um objeto Msvm_PlannedComputerSystem que representa o sistema planejado a ser validado.

Trabalho [fora]

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.

Retornar valor

Esse método retorna um dos seguintes valores.

Concluído sem erro (0)

Parâmetros de método verificados – Início do trabalho (4096)

Falha (32768)

Acesso Negado (32769)

Sem suporte (32770)

O status é desconhecido (32771)

Tempo limite (32772)

Parâmetro inválido (32773)

O sistema está em uso (32774)

Estado inválido para essa operação (32775)

Tipo de dados incorreto (32776)

O sistema não está disponível (32777)

Sem memória (32778)

Arquivo em Uso (32779)

Exemplos

O exemplo de C# a seguir usa o método ValidatePlannedSystem para validar 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 validates it, displaying
/// any warnings produced.
/// </summary>
/// <param name="pvmName">The name of the PVM to be validated.</param>
internal static void
ValidatePvm(
    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("ValidatePlannedSystem"))
    {
        inParams["PlannedSystem"] = pvm.Path;

        Console.WriteLine("Validating Planned Virtual Machine \"{0}\" ({1})...",
                pvm["ElementName"], pvm["Name"]);

        using (ManagementBaseObject outParams = 
            managementService.InvokeMethod("ValidatePlannedSystem", inParams, null))
        {
            if (WmiUtilities.ValidateOutput(outParams, scope))
            {
                using (ManagementObject job = 
                    new ManagementObject((string)outParams["Job"]))
                {
                    WmiUtilities.PrintMsvmErrors(job);
                }
            }
        }
    }
}

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

Confira também

Msvm_VirtualSystemManagementService