Compartilhar via


Método GetSummaryInformation da classe Msvm_VirtualSystemManagementService

Retorna informações de resumo da máquina virtual.

Sintaxe

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

Parâmetros

SettingData [in]

Tipo: CIM_VirtualSystemSettingData[]

Uma matriz de instâncias CIM_VirtualSystemSettingData que especificam as máquinas virtuais ou instantâneos para os quais as informações devem ser recuperadas. Se esse parâmetro for Null, as informações de todas as máquinas virtuais serão recuperadas.

RequestedInformation [in]

Tipo: uint32[]

Uma matriz de valores de enumeração, que correspondem às propriedades na classe Msvm_SummaryInformation , que especificam os dados a serem recuperados para as máquinas virtuais e instantâneos especificados na matriz SettingData .

Nome (0)

Isso corresponde à propriedade Name da classe Msvm_SummaryInformation .

Nome do elemento (1)

Isso corresponde à propriedade ElementName da classe Msvm_SummaryInformation .

Hora da Criação (2)

Isso corresponde à propriedade CreationTime da classe Msvm_SummaryInformation .

Notas (3)

Isso corresponde à propriedade Notes da classe Msvm_SummaryInformation .

Número de processadores (4)

Isso corresponde à propriedade NumberOfProcessors da classe Msvm_SummaryInformation .

Imagem em miniatura pequena (80x60) (5)

Isso corresponde à propriedade ThumbnailImage da classe Msvm_SummaryInformation . Uma imagem em miniatura com as dimensões de 80 60 será recuperada.

Imagem de Miniatura Média (160x120) (6)

Isso corresponde à propriedade ThumbnailImage da classe Msvm_SummaryInformation . Uma imagem em miniatura com as dimensões 160 120 será recuperada.

Imagem em miniatura grande (320x240) (7)

Isso corresponde à propriedade ThumbnailImage da classe Msvm_SummaryInformation . Uma imagem em miniatura com as dimensões 320 240 será recuperada.

AllocatedGPU (8)

Isso corresponde à propriedade AllocatedGPU da classe Msvm_SummaryInformation .

VirtualSwitchNames (9)

Versão (10)

Observação

Adicionado em Windows 10 e Windows Server 2016.

Blindado (11)

Observação

Adicionado em Windows 10, versão 1703 e Windows Server 2016.

EnabledState (100)

Isso corresponde à propriedade EnabledState da classe Msvm_SummaryInformation .

ProcessorLoad (101)

Isso corresponde à propriedade ProcessorLoad da classe Msvm_SummaryInformation .

ProcessorLoadHistory (102)

Isso corresponde à propriedade ProcessorLoadHistory da classe Msvm_SummaryInformation .

MemoryUsage (103)

Isso corresponde à propriedade MemoryUsage da classe Msvm_SummaryInformation .

Pulsação (104)

Isso corresponde à propriedade Heartbeat da classe Msvm_SummaryInformation .

Tempo de atividade (105)

Isso corresponde à propriedade UpTime da classe Msvm_SummaryInformation .

GuestOperatingSystem (106)

Isso corresponde à propriedade GuestOperatingSystem da classe Msvm_SummaryInformation .

Instantâneos (107)

Isso corresponde à propriedade Snapshots da classe Msvm_SummaryInformation .

AssíncronaTasks (108)

Isso corresponde à propriedade AsynchronousTasks da classe Msvm_SummaryInformation .

HealthState (109)

Isso corresponde à propriedade HealthState da classe Msvm_SummaryInformation .

OperationalStatus (110)

Isso corresponde à propriedade OperationalStatus da classe Msvm_SummaryInformation .

StatusDescriptions (111)

Isso corresponde à propriedade StatusDescriptions da classe Msvm_SummaryInformation .

Memória Disponível (112)

Isso corresponde à propriedade MemoryAvailable da classe Msvm_SummaryInformation .

AvailableMemoryBuffer (113)

Isso corresponde à propriedade AvailableMemoryBuffer da classe Msvm_SummaryInformation .

Modo de replicação (114)

Isso corresponde à propriedade ReplicationMode da classe Msvm_SummaryInformation .

Estado de replicação (115)

Isso corresponde à propriedade ReplicationState da classe Msvm_SummaryInformation .

Replication HealthTest Replica System (116)

Isso corresponde à propriedade ReplicationHealth da classe Msvm_SummaryInformation .

Integridade do Aplicativo (117)

ReplicationStateEx (118)

Isso corresponde à propriedade ReplicationState da classe Msvm_ReplicationRelationship . Essa é uma matriz para todos os valores de estado de replicação em relação primária e estendida. 0 valor de índice é sempre para a relação primária e, se a replicação estendida estiver habilitada, ela será retornada no índice 1.

ReplicationHealthEx (119)

Isso corresponde à propriedade ReplicationHealth da classe Msvm_ReplicationRelationship . Essa é uma matriz para todos os valores de integridade de replicação em relação primária e estendida. 0 valor de índice é sempre para a relação primária e, se a replicação estendida estiver habilitada, ela será retornada no índice 1.

SwapFilesInUse (120)

Isso corresponde à propriedade SwapFilesInUse da classe Msvm_SummaryInformation .

IntegrationServicesVersionState (121)

ReplicationProviderId (122)

Isso corresponde à propriedade Name da classe Msvm_ReplicationProvider .

MemorySpansPhysicalNumaNodes (123)

IntegrationServicesVersionState (132)

Isso corresponde à propriedade IntegrationServicesVersionState da classe Msvm_SummaryInformation .

OtherEnabledState (132)

Isso corresponde à propriedade OtherEnabledState da classe Msvm_SummaryInformation .

(133)

SummaryInformation [out]

Tipo: Msvm_SummaryInformationBase[]

Uma matriz de instâncias de Msvm_SummaryInformationBase que contém as informações solicitadas para as máquinas virtuais e/ou instantâneos especificados na matriz SettingData . Essa matriz terá o mesmo número de elementos que a matriz SettingData . Cada uma dessas entradas conterá a propriedade Name , mesmo que essa propriedade não tenha sido solicitada. Se a máquina virtual ou instantâneo não puder ser encontrada ou não estiver disponível, a propriedade Name da entrada de informações de resumo correspondente estará vazia.

As propriedades não especificadas no parâmetro RequestedInformation terão um valor Null .

Observação

Tipo de dados atualizado de no Windows 10, versão 1703 do Msvm_SummaryInformation.

Valor retornado

Tipo: uint32

Esse método retorna um dos valores a seguir.

Concluído sem erro (0)

Parâmetros de método verificados – Trabalho iniciado (4096)

Falha (32768)

Acesso negado (32769)

Sem suporte (32770)

O status é desconhecido (32771)

Tempo limite (32772)

Parâmetro inválido (32773)

O sistema está em uso (32774)

Estado inválido para esta operação (32775)

Tipo de dados incorreto (32776)

O sistema não está disponível (32777)

Sem memória (32778)

Comentários

O acesso à classe Msvm_VirtualSystemManagementService pode ser restrito pela Filtragem UAC. Para obter mais informações, consulte Controle de Conta de Usuário e WMI.

Exemplos

O exemplo de C# a seguir exibe informações resumidas. Os utilitários referenciados podem ser encontrados em utilitários comuns para os exemplos de virtualização (V2).

Importante

Para funcionar corretamente, o código a seguir deve ser executado no servidor host da máquina virtual e deve ser executado com privilégios de administrador.

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;

    }
}

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows 8 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows Server 2012 [somente aplicativos da área de trabalho]
Namespace
Root\Virtualization\V2
MOF
WindowsVirtualization.V2.mof
DLL
Vmms.exe

Confira também

Msvm_VirtualSystemManagementService

CIM_VirtualSystemSettingData

Msvm_SummaryInformation