Condividi tramite


Metodo GetSummaryInformation della classe Msvm_VirtualSystemManagementService

Restituisce informazioni di riepilogo della macchina virtuale.

Sintassi

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

Parametri

SettingData [in]

Tipo: CIM_VirtualSystemSettingData[]

Matrice di istanze di CIM_VirtualSystemSettingData che specificano le macchine virtuali o gli snapshot per cui recuperare le informazioni. Se questo parametro è Null, vengono recuperate informazioni per tutte le macchine virtuali.

RequestedInformation [in]

Tipo: uint32[]

Matrice di valori di enumerazione, che corrispondono alle proprietà nella classe Msvm_SummaryInformation , che specificano i dati da recuperare per le macchine virtuali e gli snapshot specificati nella matrice SettingData .

Nome (0)

Corrisponde alla proprietà Name della classe Msvm_SummaryInformation .

Nome elemento (1)

Corrisponde alla proprietà ElementName della classe Msvm_SummaryInformation .

Tempo di creazione (2)

Corrisponde alla proprietà CreationTime della classe Msvm_SummaryInformation .

Note (3)

Corrisponde alla proprietà Notes della classe Msvm_SummaryInformation .

Numero di processori (4)

Corrisponde alla proprietà NumberOfProcessors della classe Msvm_SummaryInformation .

Immagine di anteprima piccola (80x60) (5)

Corrisponde alla proprietà ThumbnailImage della classe Msvm_SummaryInformation . Verrà recuperata un'immagine di anteprima con dimensioni pari a 80 60.

Immagine di anteprima media (160x120) (6)

Corrisponde alla proprietà ThumbnailImage della classe Msvm_SummaryInformation . Verrà recuperata un'immagine di anteprima con dimensioni pari a 160 120.

Immagine anteprima grande (320x240) (7)

Corrisponde alla proprietà ThumbnailImage della classe Msvm_SummaryInformation . Verrà recuperata un'immagine di anteprima con dimensioni pari a 320 240.

AllocateGPU (8)

Corrisponde alla proprietà AllocateGPU della classe Msvm_SummaryInformation .

VirtualSwitchNames (9)

Versione (10)

Nota

Aggiunta in Windows 10 e Windows Server 2016.

Schermata (11)

Nota

Aggiunta in Windows 10 versione 1703 e Windows Server 2016.

EnabledState (100)

Corrisponde alla proprietà EnabledState della classe Msvm_SummaryInformation .

ProcessorLoad (101)

Corrisponde alla proprietà ProcessorLoad della classe Msvm_SummaryInformation .

ProcessorLoadHistory (102)

Corrisponde alla proprietà ProcessorLoadHistory della classe Msvm_SummaryInformation .

MemoryUsage (103)

Corrisponde alla proprietà MemoryUsage della classe Msvm_SummaryInformation .

Heartbeat (104)

Corrisponde alla proprietà Heartbeat della classe Msvm_SummaryInformation .

Tempo di attività (105)

Corrisponde alla proprietà UpTime della classe Msvm_SummaryInformation .

GuestOperatingSystem (106)

Corrisponde alla proprietà GuestOperatingSystem della classe Msvm_SummaryInformation .

Snapshot (107)

Corrisponde alla proprietà Snapshots della classe Msvm_SummaryInformation .

AsynchronousTasks (108)

Corrisponde alla proprietà AsynchronousTasks della classe Msvm_SummaryInformation .

HealthState (109)

Corrisponde alla proprietà HealthState della classe Msvm_SummaryInformation .

OperationalStatus (110)

Corrisponde alla proprietà OperationalStatus della classe Msvm_SummaryInformation .

StatusDescriptions (111)

Corrisponde alla proprietà StatusDescriptions della classe Msvm_SummaryInformation .

MemoryAvailable (112)

Corrisponde alla proprietà MemoryAvailable della classe Msvm_SummaryInformation .

AvailableMemoryBuffer (113)

Corrisponde alla proprietà AvailableMemoryBuffer della classe Msvm_SummaryInformation .

Modalità di replica (114)

Corrisponde alla proprietà ReplicationMode della classe Msvm_SummaryInformation .

Stato replica (115)

Corrisponde alla proprietà ReplicationState della classe Msvm_SummaryInformation .

Replication HealthTest Replica System (116)

Corrisponde alla proprietà ReplicationHealth della classe Msvm_SummaryInformation .

Integrità applicazione (117)

ReplicationStateEx (118)

Corrisponde alla proprietà ReplicationState della classe Msvm_ReplicationRelationship . Si tratta di una matrice per tutti i valori dello stato di replica nella relazione primaria e estesa. 0 il valore di indice è sempre per la relazione primaria e, se la replica estesa è abilitata, viene restituita nell'indice 1.

ReplicationHealthEx (119)

Corrisponde alla proprietà ReplicationHealth della classe Msvm_ReplicationRelationship . Si tratta di una matrice per tutti i valori di integrità della replica nella relazione primaria e estesa. 0 il valore di indice è sempre per la relazione primaria e, se la replica estesa è abilitata, viene restituita nell'indice 1.

SwapFilesInUse (120)

Corrisponde alla proprietà SwapFilesInUse della classe Msvm_SummaryInformation .

IntegrationServicesVersionState (121)

ReplicationProviderId (122)

Corrisponde alla proprietà Name della classe Msvm_ReplicationProvider .

MemorySpansPhysicalNumaNodes (123)

IntegrationServicesVersionState (132)

Corrisponde alla proprietà IntegrationServicesVersionState della classe Msvm_SummaryInformation .

OtherEnabledState (132)

Corrisponde alla proprietà OtherEnabledState della classe Msvm_SummaryInformation .

(133)

SummaryInformation [out]

Tipo: Msvm_SummaryInformationBase[]

Matrice di istanze di Msvm_SummaryInformationBase contenente le informazioni richieste per le macchine virtuali e/o gli snapshot specificati nell'array SettingData . Questa matrice avrà lo stesso numero di elementi della matrice SettingData . Ognuna di queste voci conterrà la proprietà Name , anche se questa proprietà non è stata richiesta. Se la macchina virtuale o lo snapshot non è stato trovato o non è disponibile, la proprietà Name della voce di informazioni di riepilogo corrispondente sarà vuota.

Le proprietà non specificate nel parametro RequestedInformation avranno un valore Null .

Nota

Tipo di dati aggiornato da in Windows 10 versione 1703 da Msvm_SummaryInformation.

Valore restituito

Tipo: uint32

Questo metodo restituisce 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)

Commenti

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

Esempio

Nell'esempio C# seguente vengono visualizzate informazioni di riepilogo. Le utilità a cui si fa riferimento sono disponibili in Utilità comuni per gli esempi di virtualizzazione (V2).

Importante

Per funzionare correttamente, il codice seguente deve essere eseguito nel server host della macchina virtuale e deve essere eseguito con privilegi di amministratore.

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;

    }
}

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

Msvm_VirtualSystemManagementService

CIM_VirtualSystemSettingData

Msvm_SummaryInformation