Поделиться через


Метод GetSummaryInformation класса Msvm_VirtualSystemManagementService

Возвращает сводные сведения о виртуальной машине.

Синтаксис

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

Параметры

SettingData [in]

Тип: CIM_VirtualSystemSettingData[]

Массив CIM_VirtualSystemSettingData экземпляров, определяющих виртуальные машины или моментальные снимки, для которых требуется получить сведения. Если этот параметр имеет значение Null, извлекаются сведения для всех виртуальных машин.

RequestedInformation [in]

Тип: uint32[]

Массив значений перечисления, соответствующих свойствам класса Msvm_SummaryInformation , которые указывают данные для получения для виртуальных машин и моментальных снимков, указанных в массиве SettingData .

Имя (0)

Соответствует свойству Name класса Msvm_SummaryInformation .

Имя элемента (1)

Соответствует свойству ElementName класса Msvm_SummaryInformation .

Время создания (2)

Это соответствует свойству CreationTime класса Msvm_SummaryInformation .

Примечания (3)

Соответствует свойству Notes класса Msvm_SummaryInformation .

Число процессоров (4)

Это соответствует свойству NumberOfProcessors класса Msvm_SummaryInformation .

Маленький эскиз (80x60) (5)

Соответствует свойству ThumbnailImage класса Msvm_SummaryInformation . Будет извлечен эскиз с размерами 80 60.

Среднее эскизное изображение (160x120) (6)

Соответствует свойству ThumbnailImage класса Msvm_SummaryInformation . Будет извлечен эскиз с размерами 160 120.

Изображение большого эскиза (320x240) (7)

Соответствует свойству ThumbnailImage класса Msvm_SummaryInformation . Будет извлечен эскиз с размерами 320 240.

AllocatedGPU (8)

Это соответствует свойству AllocatedGPU класса Msvm_SummaryInformation .

VirtualSwitchNames (9)

Версия (10)

Примечание

Добавлено в Windows 10 и Windows Server 2016.

Экранированные (11)

Примечание

Добавлено в Windows 10 версии 1703 и Windows Server 2016.

EnabledState (100)

Соответствует свойству EnabledState класса Msvm_SummaryInformation .

ProcessorLoad (101)

Соответствует свойству ProcessorLoad класса Msvm_SummaryInformation .

ProcessorLoadHistory (102)

Это соответствует свойству ProcessorLoadHistory класса Msvm_SummaryInformation .

MemoryUsage (103)

Соответствует свойству MemoryUsage класса Msvm_SummaryInformation .

Пульс (104)

Соответствует свойству Heartbeat класса Msvm_SummaryInformation .

Время доступности (105)

Это соответствует свойству UpTime класса Msvm_SummaryInformation .

GuestOperatingSystem (106)

Это соответствует свойству GuestOperatingSystem класса Msvm_SummaryInformation .

Моментальные снимки (107)

Соответствует свойству Snapshots класса Msvm_SummaryInformation .

Асинхронные задачи (108)

Соответствует свойству AsynchronousTasks класса Msvm_SummaryInformation .

HealthState (109)

Соответствует свойству HealthState класса Msvm_SummaryInformation .

OperationalStatus (110)

Соответствует свойству OperationalStatusкласса Msvm_SummaryInformation .

StatusDescriptions (111)

Соответствует свойству StatusDescriptions класса Msvm_SummaryInformation .

MemoryAvailable (112)

Соответствует свойству MemoryAvailable класса Msvm_SummaryInformation .

AvailableMemoryBuffer (113)

Соответствует свойству AvailableMemoryBuffer класса Msvm_SummaryInformation .

Режим репликации (114)

Это соответствует свойству ReplicationMode класса Msvm_SummaryInformation .

Состояние репликации (115)

Соответствует свойству ReplicationState класса Msvm_SummaryInformation .

Репликация HealthTest Replica System (116)

Это соответствует свойству ReplicationHealth класса Msvm_SummaryInformation .

Работоспособности приложения (117)

ReplicationStateEx (118)

Соответствует свойству ReplicationState класса Msvm_ReplicationRelationship . Это массив для всех значений состояния репликации в основной и расширенной связи. Значение индекса 0 всегда используется для основной связи, и если расширенная репликация включена, она возвращается в индексе 1.

ReplicationHealthEx (119)

Это соответствует свойству ReplicationHealth класса Msvm_ReplicationRelationship . Это массив для всех значений работоспособности репликации в основной и расширенной связи. Значение индекса 0 всегда используется для основной связи, и если расширенная репликация включена, она возвращается в индексе 1.

SwapFilesInUse (120)

Соответствует свойству SwapFilesInUse класса Msvm_SummaryInformation .

IntegrationServicesVersionState (121)

ReplicationProviderId (122)

Соответствует свойству Name класса Msvm_ReplicationProvider .

MemorySpansPhysicalNumaNodes (123)

IntegrationServicesVersionState (132)

Соответствует свойству IntegrationServicesVersionState класса Msvm_SummaryInformation .

OtherEnabledState (132)

Соответствует свойству OtherEnabledState класса Msvm_SummaryInformation .

(133)

SummaryInformation [out]

Тип: Msvm_SummaryInformationBase[]

Массив экземпляров Msvm_SummaryInformationBase , содержащий запрошенные сведения для виртуальных машин и (или) моментальных снимков, указанных в массиве SettingData . Этот массив будет содержать то же количество элементов, что и массив SettingData . Каждая из этих записей будет содержать свойство Name , даже если это свойство не было запрошено. Если виртуальная машина или snapshot не найдена или недоступна, свойство Name соответствующей сводной записи будет пустым.

Свойства, не указанные в параметре RequestedInformation , будут иметь значение NULL .

Примечание

Тип данных обновлен в Windows 10 версии 1703 из Msvm_SummaryInformation.

Возвращаемое значение

Тип: uint32

Этот метод возвращает одно из следующих значений.

Завершено без ошибок (0)

Проверенные параметры метода — задание запущено (4096)

Сбой (32768)

Доступ запрещен (32769)

Не поддерживается (32770)

Состояние неизвестно (32771)

Время ожидания (32772)

Недопустимый параметр (32773)

Система используется (32774)

Недопустимое состояние для этой операции (32775)

Неправильный тип данных (32776)

Система недоступна (32777)

Нехватка памяти (32778)

Комментарии

Доступ к классу Msvm_VirtualSystemManagementService может быть ограничен фильтрацией UAC. Дополнительные сведения см. в разделе Контроль учетных записей пользователей и WMI.

Примеры

В следующем примере C# отображаются сводные сведения. Эти служебные программы можно найти в разделе Общие служебные программы для примеров виртуализации (версия 2).

Важно!

Для правильной работы следующий код должен выполняться на сервере узла виртуальной машины и выполняться с правами администратора.

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;

    }
}

Требования

Требование Значение
Минимальная версия клиента
Windows 8 [только классические приложения]
Минимальная версия сервера
Windows Server 2012 [только классические приложения]
Пространство имен
Root\Virtualization\V2
MOF
WindowsVirtualization.V2.mof
DLL
Vmms.exe

См. также раздел

Msvm_VirtualSystemManagementService

CIM_VirtualSystemSettingData

Msvm_SummaryInformation