Méthode GetSummaryInformation de la classe Msvm_VirtualSystemManagementService

Retourne les informations récapitulatives de la machine virtuelle.

Syntaxe

uint32 GetSummaryInformation(
  [in]  CIM_VirtualSystemSettingData REF SettingData[],
  [in]  uint32                           RequestedInformation[],
  [out] Msvm_SummaryInformationBase      SummaryInformation[]
);

Paramètres

SettingData [in]

Type : CIM_VirtualSystemSettingData[]

Tableau d’instances CIM_VirtualSystemSettingData qui spécifient les machines virtuelles ou les instantanés pour lesquels les informations doivent être récupérées. Si ce paramètre a la valeur Null, les informations de toutes les machines virtuelles sont récupérées.

RequestedInformation [in]

Type : uint32[]

Tableau de valeurs d’énumération, qui correspondent aux propriétés de la classe Msvm_SummaryInformation , qui spécifient les données à récupérer pour les machines virtuelles et les instantanés spécifiés dans le tableau SettingData .

Nom (0)

Cela correspond à la propriété Name de la classe Msvm_SummaryInformation .

Nom de l’élément (1)

Cela correspond à la propriété ElementName de la classe Msvm_SummaryInformation .

Heure de création (2)

Cela correspond à la propriété CreationTime de la classe Msvm_SummaryInformation .

Notes (3)

Cela correspond à la propriété Notes de la classe Msvm_SummaryInformation .

Nombre de processeurs (4)

Cela correspond à la propriété NumberOfProcessors de la classe Msvm_SummaryInformation .

Image miniature petite (80x60) (5)

Cela correspond à la propriété ThumbnailImage de la classe Msvm_SummaryInformation . Une image miniature avec des dimensions de 80 60 est récupérée.

Image miniature moyenne (160 x 120) (6)

Cela correspond à la propriété ThumbnailImage de la classe Msvm_SummaryInformation . Une image miniature avec les dimensions 160 120 sera récupérée.

Image miniature volumineuse (320 x 240) (7)

Cela correspond à la propriété ThumbnailImage de la classe Msvm_SummaryInformation . Une image miniature avec les dimensions 320 240 sera récupérée.

Allocation de processeurs ( 8)

Cela correspond à la propriété AllocatedGPU de la classe Msvm_SummaryInformation .

VirtualSwitchNames (9)

Version (10)

Notes

Ajout dans Windows 10 et Windows Server 2016.

Protégé (11)

Notes

Ajout dans Windows 10, version 1703 et Windows Server 2016.

EnabledState (100)

Cela correspond à la propriété EnabledState de la classe Msvm_SummaryInformation .

ProcessorLoad (101)

Cela correspond à la propriété ProcessorLoad de la classe Msvm_SummaryInformation .

ProcessorLoadHistory (102)

Cela correspond à la propriété ProcessorLoadHistory de la classe Msvm_SummaryInformation .

MemoryUsage (103)

Cela correspond à la propriété MemoryUsage de la classe Msvm_SummaryInformation .

Pulsation ( 104)

Cela correspond à la propriété Heartbeat de la classe Msvm_SummaryInformation .

Temps de fonctionnement (105)

Cela correspond à la propriété UpTime de la classe Msvm_SummaryInformation .

GuestOperatingSystem (106)

Cela correspond à la propriété GuestOperatingSystem de la classe Msvm_SummaryInformation .

Instantanés (107)

Cela correspond à la propriété Snapshots de la classe Msvm_SummaryInformation .

AsynchroneTasks (108)

Cela correspond à la propriété AsynchronousTasks de la classe Msvm_SummaryInformation .

HealthState (109)

Cela correspond à la propriété HealthState de la classe Msvm_SummaryInformation .

OperationalStatus (110)

Cela correspond à la propriété OperationalStatus de la classe Msvm_SummaryInformation .

StatusDescriptions (111)

Cela correspond à la propriété StatusDescriptions de la classe Msvm_SummaryInformation .

MemoryAvailable (112)

Cela correspond à la propriété MemoryAvailable de la classe Msvm_SummaryInformation .

AvailableMemoryBuffer (113)

Cela correspond à la propriété AvailableMemoryBuffer de la classe Msvm_SummaryInformation .

Mode de réplication (114)

Cela correspond à la propriété ReplicationMode de la classe Msvm_SummaryInformation .

État de réplication (115)

Cela correspond à la propriété ReplicationState de la classe Msvm_SummaryInformation .

Réplication HealthTest Replica System (116)

Cela correspond à la propriété ReplicationHealth de la classe Msvm_SummaryInformation .

Intégrité de l’application (117)

ReplicationStateEx (118)

Cela correspond à la propriété ReplicationState de la classe Msvm_ReplicationRelationship . Il s’agit d’un tableau pour toutes les valeurs d’état de réplication dans les relations primaires et étendues. La valeur d’index 0 est toujours pour la relation principale, et si la réplication étendue est activée, elle est retournée dans l’index 1.

ReplicationHealthEx (119)

Cela correspond à la propriété ReplicationHealth de la classe Msvm_ReplicationRelationship . Il s’agit d’un tableau pour toutes les valeurs d’intégrité de réplication dans la relation principale et la relation étendue. La valeur d’index 0 est toujours pour la relation principale, et si la réplication étendue est activée, elle est retournée dans l’index 1.

SwapFilesInUse (120)

Cela correspond à la propriété SwapFilesInUse de la classe Msvm_SummaryInformation .

IntegrationServicesVersionState (121)

ReplicationProviderId (122)

Cela correspond à la propriété Name de la classe Msvm_ReplicationProvider .

MemorySpansPhysicalNumaNodes (123)

IntegrationServicesVersionState (132)

Cela correspond à la propriété IntegrationServicesVersionState de la classe Msvm_SummaryInformation .

OtherEnabledState (132)

Cela correspond à la propriété OtherEnabledState de la classe Msvm_SummaryInformation .

(133)

SummaryInformation [out]

Type : Msvm_SummaryInformationBase[]

Tableau d’instances de Msvm_SummaryInformationBase contenant les informations demandées pour les machines virtuelles et/ou les instantanés spécifiés dans le tableau SettingData . Ce tableau aura le même nombre d’éléments que le tableau SettingData . Chacune de ces entrées contient la propriété Name , même si cette propriété n’a pas été demandée. Si la machine virtuelle ou le instantané est introuvable ou n’est pas disponible, la propriété Name de l’entrée d’informations récapitulative correspondante est vide.

Les propriétés non spécifiées dans le paramètre RequestedInformation auront une valeur Null .

Notes

Type de données mis à jour à partir de Windows 10, version 1703 à partir de Msvm_SummaryInformation.

Valeur retournée

Type : uint32

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)

É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)

Notes

L’accès à la classe Msvm_VirtualSystemManagementService 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 affiche des informations récapitulatives. Les utilitaires référencés se trouvent dans Utilitaires communs pour les exemples de virtualisation (V2).

Important

Pour fonctionner correctement, le code suivant doit être exécuté sur le serveur hôte de machine virtuelle et doit être exécuté avec des privilèges d’administrateur.

public class GetSummaryInformationClassV2
{
    public static void GetSummaryInformation(string[] vmNames)
    {
        ManagementScope scope = new ManagementScope(@"root\virtualization\v2", null);
        ManagementObject virtualSystemService = Utility.GetServiceObject(scope, "Msvm_VirtualSystemManagementService");
        ManagementBaseObject inParams = virtualSystemService.GetMethodParameters("GetSummaryInformation");

        ManagementObject[] virtualSystemSettings = new ManagementObject[vmNames.Length];

        for (int i = 0; i < vmNames.Length; i++)
        {
            virtualSystemSettings[i] = GetVirtualSystemSetting(vmNames[i], scope);
        }

        UInt32[] requestedInformation = new UInt32[4];
        requestedInformation[0] = 1;    // ElementName
        requestedInformation[2] = 103;  // MemoryUsage
        requestedInformation[3] = 112;  // MemoryAvailable

        inParams["SettingData"] = virtualSystemSettings;
        inParams["RequestedInformation"] = requestedInformation;

        ManagementBaseObject outParams = virtualSystemService.InvokeMethod("GetSummaryInformation", inParams, null);

        if ((UInt32)outParams["ReturnValue"] == ReturnCode.Completed)
        {
            Console.WriteLine("Summary information was retrieved successfully.");

            ManagementBaseObject[] summaryInformationArray = 
                (ManagementBaseObject[])outParams["SummaryInformation"];

            foreach (ManagementBaseObject summaryInformation in summaryInformationArray)
            {
                Console.WriteLine("\nVirtual System Summary Information:");
                if ((null == summaryInformation["Name"]) || 
                    (summaryInformation["Name"].ToString().Length == 0))
                {
                    Console.WriteLine("\tThe VM or snapshot could not be found.");
                }
                else
                {
                    Console.WriteLine("\tName: {0}", summaryInformation["Name"].ToString());
                    foreach (UInt32 requested in requestedInformation)
                    {
                        switch (requested)
                        {
                            case 1:
                                Console.WriteLine("\tElementName: {0}", summaryInformation["ElementName"].ToString());
                                break;

                            case 103:
                                Console.WriteLine("\tMemoryUsage: {0}", summaryInformation["MemoryUsage"].ToString());
                                break;

                            case 112:
                                Console.WriteLine("\tMemoryAvailable: {0}", summaryInformation["MemoryAvailable"].ToString());
                                break;
                        }
                    }
                }
            }
        }
        else
        {
            Console.WriteLine("Failed to retrieve virtual system summary information");
        }

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

    public static ManagementObject GetVirtualSystemSetting(string vmName, ManagementScope scope)
    {
        ManagementObject virtualSystem = Utility.GetTargetComputer(vmName, scope);

        ManagementObjectCollection virtualSystemSettings = virtualSystem.GetRelated
         (
             "Msvm_VirtualSystemSettingData",
             "Msvm_SettingsDefineState",
             null,
             null,
             "SettingData",
             "ManagedElement",
             false,
             null
         );

        ManagementObject virtualSystemSetting = null;

        foreach (ManagementObject instance in virtualSystemSettings)
        {
            virtualSystemSetting = instance;
            break;
        }

        return virtualSystemSetting;

    }
}

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

Msvm_VirtualSystemManagementService

CIM_VirtualSystemSettingData

Msvm_SummaryInformation