Partager via


Méthode ValidateVirtualHardDisk de la classe Msvm_ImageManagementService

Détermine si un fichier de disque dur virtuel est valide.

Syntaxe

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

Paramètres

Chemin d’accès [in]

Type : chaîne

Chemin d’accès complet qui spécifie l’emplacement du fichier de disque dur virtuel.

Travail [out]

Type : CIM_ConcreteJob

Si l’opération est effectuée de manière asynchrone, cette méthode retourne 4096 et ce paramètre contient une référence à un objet dérivé de CIM_ConcreteJob.

Valeur retournée

Type : uint32

Cette méthode peut retourner l’une des valeurs suivantes.

Terminé avec aucune erreur (0)

Paramètres de méthode vérifiés - Travail démarré (4096)

Échec (32768)

Accès refusé (32769)

Non pris en charge (32770)

État inconnu (32771)

Délai d’expiration (32772)

Paramètre non valide (32773)

Le système est en cours d’utilisation (32774)

État non valide pour cette opération (32775)

Type de données incorrect (32776)

Le système n’est pas disponible (32777)

Mémoire insuffisante (32778)

Fichier introuvable (32779)

Cycle de chaîne de différenciation VHD détecté (32787)

Notes

Si le disque dur virtuel est un disque de différenciation, toute la chaîne de disques virtuels est ouverte. Si le lien est rompu dans la chaîne de disques, un objet de travail est retourné avec l’erreur appropriée initialisée et les propriétés enfant et parent sont initialisées à l’emplacement où le lien est rompu.

L’accès à la classe Msvm_ImageManagementService peut être restreint par le filtrage UAC. Pour plus d’informations, consultez Contrôle de compte d’utilisateur et WMI.

Exemples

L’exemple C# suivant valide une image de disque dur virtuel. Les utilitaires référencés se trouvent dans Utilitaires communs pour les exemples de virtualisation (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();
}

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows 8 [applications de bureau uniquement]
Serveur minimal pris en charge
Windows Server 2012 [applications de bureau uniquement]
Espace de noms
Racine\Virtualisation\V2
MOF
WindowsVirtualization.V2.mof
DLL
Vmms.exe

Voir aussi

ValidateVirtualHardDisk (V1)

CIM_ConcreteJob

Msvm_ImageManagementService