Share via


Méthode GetVirtualHardDiskState de la classe Msvm_ImageManagementService

Récupère les informations d’état d’un fichier de disque dur virtuel.

Syntaxe

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

Paramètres

Chemin d’accès [in]

Chemin d’accès complet du fichier image de disque.

État [out]

En cas de réussite, reçoit une instance incorporée de la classe Msvm_VirtualHardDiskState qui contient les informations d’état du disque dur virtuel.

Travail [out]

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

Cette méthode retourne 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)

L’état est 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)

Notes

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

Exemples

L’exemple C# suivant montre comment appeler la méthode GetVirtualHardDiskState . Les utilitaires référencés se trouvent dans Utilitaires communs pour les exemples de virtualisation (V2).

public static void GetVirtualHardDiskState(string vhdPath)
{
    ManagementScope scope = new ManagementScope(@"root\virtualization\V2", null);
    ManagementObject imageService = Utility.GetServiceObject(scope, "Msvm_ImageManagementService");
    ManagementBaseObject inParams = imageService.GetMethodParameters("GetVirtualHardDiskState");

    inParams["Path"] = vhdPath;
    
    ManagementBaseObject outParams = imageService.InvokeMethod("GetVirtualHardDiskState", inParams, null);
    if ((UInt32)outParams["ReturnValue"] == ReturnCode.Started)
    {
        if (Utility.JobCompleted(outParams, scope))
        {
            Console.WriteLine("GetVirtualHardDiskState was successful.");
        }
        else
        {
            Console.WriteLine("GetVirtualHardDiskState was not successful.");
        }
    }
    else if ((UInt32)outParams["ReturnValue"] == ReturnCode.Completed)
    {
        string diskStateString = outParams["State"].ToString();
        Utility.PrintEmbeddedInstance(diskStateString);
    }

    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
Root\Virtualization\V2
MOF
WindowsVirtualization.V2.mof
DLL
Vmms.exe

Voir aussi

Msvm_ImageManagementService