Compartilhar via


Método ValidateVirtualHardDisk da classe Msvm_ImageManagementService

Determina se um arquivo de disco rígido virtual é válido.

Sintaxe

uint32 ValidateVirtualHardDisk(
  [in]  string              Path,
  [out] CIM_ConcreteJob REF Job
);

Parâmetros

Caminho [in]

Tipo: cadeia de caracteres

Um caminho totalmente qualificado que especifica o local do arquivo de disco rígido virtual.

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

Esse método pode retornar um dos valores a seguir.

Concluído sem erro (0)

Parâmetros de método verificados – Trabalho iniciado (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 esta operação (32775)

Tipo de dados incorreto (32776)

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

Memória insuficiente (32778)

Arquivo não encontrado (32779)

Ciclo de cadeia de diferenciação de Vhd detectado (32787)

Comentários

Se o disco rígido virtual for um disco diferencial, toda a cadeia de disco virtual será aberta. Se o link for quebrado na cadeia de discos, um objeto de trabalho será retornado com o erro apropriado inicializado e as propriedades filho e pai serão inicializadas para o local em que o link está quebrado.

O acesso à classe Msvm_ImageManagementService 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 valida uma imagem de disco rígido virtual. Os utilitários referenciados podem ser encontrados em Utilitários comuns para os exemplos de virtualização (V2).

public static void ValidateVirtualHardDisk(string vhdPath)
{
    ManagementScope scope = new ManagementScope(@"root\virtualization\v2", null);
    ManagementObject imageService = Utility.GetServiceObject(scope, "Msvm_ImageManagementService");

    ManagementBaseObject inParams = imageService.GetMethodParameters("ValidateVirtualHardDisk");
    inParams["Path"] = vhdPath;
    ManagementBaseObject outParams = imageService.InvokeMethod("ValidateVirtualHardDisk", inParams, null);
    if ((UInt32)outParams["ReturnValue"] == ReturnCode.Started)
    {
        if (Utility.JobCompleted(outParams, scope))
        {
            Console.WriteLine("{0} is a valid virtual hard disk.", inParams["Path"]);
        }
        else
        {
            Console.WriteLine("Unable to validate {0}", inParams["Path"]);
        }
    }

    outParams.Dispose();
    inParams.Dispose();
    imageService.Dispose();
}

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

ValidateVirtualHardDisk (V1)

CIM_ConcreteJob

Msvm_ImageManagementService