Compartir a través de


Método ValidateVirtualHardDisk de la clase Msvm_ImageManagementService

Determina si un archivo de disco duro virtual es válido.

Sintaxis

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

Parámetros

Ruta de acceso [in]

Tipo: cadena

Ruta de acceso completa que especifica la ubicación del archivo de disco duro virtual.

Trabajo [salida]

Tipo: CIM_ConcreteJob

Si la operación se realiza de forma asincrónica, este método devolverá 4096 y este parámetro contendrá una referencia a un objeto derivado de CIM_ConcreteJob.

Valor devuelto

Tipo: uint32

Este método puede devolver uno de los siguientes valores.

Completado sin error (0)

Parámetros de método comprobados: trabajo iniciado (4096)

Error (32768)

Acceso denegado (32769)

No compatible (32770)

El estado es desconocido (32771)

Tiempo de espera (32772)

Parámetro no válido (32773)

El sistema está en uso (32774)

Estado no válido para esta operación (32775)

Tipo de datos incorrecto (32776)

El sistema no está disponible (32777)

Memoria insuficiente (32778)

Archivo no encontrado (32779)

Se detectó un ciclo de cadena de diferenciación de Vhd (32787)

Comentarios

Si el disco duro virtual es un disco de diferenciación, se abre toda la cadena de discos virtuales. Si el vínculo se interrumpe en la cadena de disco, se devuelve un objeto de trabajo con el error adecuado inicializado y las propiedades secundarias y primarias se inicializan en la ubicación donde se interrumpe el vínculo.

El filtrado UAC puede restringir el acceso a la clase Msvm_ImageManagementService . Para obtener más información, consulte Control de cuentas de usuario y WMI.

Ejemplos

En el ejemplo de C# siguiente se valida una imagen de disco duro virtual. Las utilidades a las que se hace referencia se pueden encontrar en Utilidades comunes para los ejemplos de virtualización (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 Value
Cliente mínimo compatible
Windows 8 [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows Server 2012 [solo aplicaciones de escritorio]
Espacio de nombres
Root\Virtualization\V2
MOF
WindowsVirtualization.V2.mof
Archivo DLL
Vmms.exe

Consulte también

ValidateVirtualHardDisk (V1)

CIM_ConcreteJob

Msvm_ImageManagementService