Metodo ValidateVirtualHardDisk della classe Msvm_ImageManagementService

Determina se un file di disco rigido virtuale è valido.

Sintassi

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

Parametri

Percorso [in]

Tipo: string

Percorso completo che specifica il percorso del file del disco rigido virtuale.

Processo [out]

Tipo: CIM_ConcreteJob

Se l'operazione viene eseguita in modo asincrono, questo metodo restituirà 4096 e questo parametro conterrà un riferimento a un oggetto derivato da CIM_ConcreteJob.

Valore restituito

Tipo: uint32

Questo metodo può restituire uno dei valori seguenti.

Completata senza errore (0)

Parametri del metodo controllati - Processo avviato (4096)

Non riuscito (32768)

Accesso negato (32769)

Non supportato (32770)

Lo stato è sconosciuto (32771)

Timeout (32772)

Parametro non valido (32773)

Il sistema è in uso (32774)

Stato non valido per questa operazione (32775)

Tipo di dati non corretto (32776)

Sistema non disponibile (32777)

Memoria insufficiente (32778)

File non trovato (32779)

Rilevato ciclo della catena di differenze del disco rigido virtuale (32787)

Commenti

Se il disco rigido virtuale è un disco diverso, viene aperta l'intera catena di dischi virtuali. Se il collegamento viene interrotto nella catena di dischi, viene restituito un oggetto processo con l'errore appropriato inizializzato e le proprietà figlio e padre vengono inizializzate nella posizione in cui il collegamento viene interrotto.

L'accesso alla classe Msvm_ImageManagementService potrebbe essere limitato dal filtro controllo dell'account utente. Per altre informazioni, vedere Controllo dell'account utente e WMI.

Esempio

L'esempio C# seguente convalida un'immagine del disco rigido virtuale. Le utilità a cui si fa riferimento sono disponibili in Utilità comuni per gli esempi di virtualizzazione (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();
}

Requisiti

Requisito Valore
Client minimo supportato
Windows 8 [solo app desktop]
Server minimo supportato
Windows Server 2012 [solo app desktop]
Spazio dei nomi
Root\Virtualization\V2
MOF
WindowsVirtualization.V2.mof
DLL
Vmms.exe

Vedi anche

ValidateVirtualHardDisk (V1)

CIM_ConcreteJob

Msvm_ImageManagementService