Método GetSummaryInformation de la clase Msvm _ VirtualSystemManagementService

Devuelve información de resumen de la máquina virtual.

Sintaxis

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

Parámetros

SettingData [ En]

Tipo: CIM _ [ ] VirtualSystemSettingData

Matriz de instancias de CIM _ VirtualSystemSettingData que especifican las máquinas virtuales o instantáneas para las que se va a recuperar información. Si este parámetro es Null, se recupera la información de todas las máquinas virtuales.

RequestedInformation [ En]

Tipo: uint32 [ ]

Matriz de valores de enumeración, que corresponden a las propiedades de la clase Msvm _ SummaryInformation, que especifican los datos que se recuperarán para las máquinas virtuales y las instantáneas especificadas en la matriz SettingData.

Nombre (0)

Esto corresponde a la propiedad Name de la clase _ SummaryInformation de Msvm.

Nombre del elemento (1)

Esto corresponde a la propiedad ElementName de la clase _ SummaryInformation de Msvm.

Hora de creación (2)

Esto corresponde a la propiedad CreationTime de la clase Msvm _ SummaryInformation.

Notas (3)

Esto corresponde a la propiedad Notes de la clase Msvm _ SummaryInformation.

Número de procesadores (4)

Esto corresponde a la propiedad NumberOfProcessors de la clase Msvm _ SummaryInformation.

Imagen en miniatura pequeña (80 x 60) (5)

Esto corresponde a la propiedad ThumbnailImage de la clase Msvm _ SummaryInformation. Se recuperará una imagen en miniatura con las dimensiones de 80 60.

Imagen de miniatura media (160 x 120) (6)

Esto corresponde a la propiedad ThumbnailImage de la clase Msvm _ SummaryInformation. Se recuperará una imagen en miniatura con las dimensiones de 160 120.

Imagen de miniatura grande (320 x 240) (7)

Esto corresponde a la propiedad ThumbnailImage de la clase Msvm _ SummaryInformation. Se recuperará una imagen en miniatura con las dimensiones de 320 240.

AllocatedGPU (8)

Esto corresponde a la propiedad AllocatedGPU de la clase Msvm _ SummaryInformation.

VirtualSwitchNames (9)

Versión (10)

Nota

Se ha agregado Windows 10 y Windows Server 2016.

Blindada (11)

Nota

Se ha agregado Windows 10, versión 1703 y Windows Server 2016.

EnabledState (100)

Esto corresponde a la propiedad EnabledState de la clase _ SummaryInformation de Msvm.

ProcessorLoad (101)

Esto corresponde a la propiedad ProcessorLoad de la clase Msvm _ SummaryInformation.

ProcessorLoadHistory (102)

Esto corresponde a la propiedad ProcessorLoadHistory de la clase Msvm _ SummaryInformation.

MemoryUsage (103)

Esto corresponde a la propiedad MemoryUsage de la clase Msvm _ SummaryInformation.

Latido (104)

Esto corresponde a la propiedad Heartbeat de la clase Msvm _ SummaryInformation.

Tiempo de actividad (105)

Esto corresponde a la propiedad UpTime de la clase _ SummaryInformation de Msvm.

GuestOperatingSystem (106)

Esto corresponde a la propiedad GuestOperatingSystem de la clase Msvm _ SummaryInformation.

Instantáneas (107)

Esto corresponde a la propiedad Snapshots de la clase Msvm _ SummaryInformation.

AsynchronousTasks (108)

Esto corresponde a la propiedad AsynchronousTasks de la clase Msvm _ SummaryInformation.

HealthState (109)

Esto corresponde a la propiedad HealthState de la clase Msvm _ SummaryInformation.

OperationalStatus (110)

Esto corresponde a la propiedad OperationalStatus de la clase Msvm _ SummaryInformation.

StatusDescriptions (111)

Esto corresponde a la propiedad StatusDescriptions de la clase Msvm _ SummaryInformation.

MemoryAvailable (112)

Esto corresponde a la propiedad MemoryAvailable de la clase Msvm _ SummaryInformation.

AvailableMemoryBuffer (113)

Esto corresponde a la propiedad AvailableMemoryBuffer de la clase Msvm _ SummaryInformation.

Modo de replicación (114)

Esto corresponde a la propiedad ReplicationMode de la clase Msvm _ SummaryInformation.

Estado de replicación (115)

Esto corresponde a la propiedad ReplicationState de la clase Msvm _ SummaryInformation.

Replication HealthTest Replica System (116)

Esto corresponde a la propiedad ReplicationHealth de la clase Msvm _ SummaryInformation.

Estado de la aplicación (117)

ReplicationStateEx (118)

Esto corresponde a la propiedad ReplicationState de la clase _ ReplicationRelationship de Msvm. Se trata de una matriz para todos los valores de estado de replicación en la relación principal y extendida. El valor de índice 0 siempre es para la relación principal y, si la replicación extendida está habilitada, se devuelve en el índice 1.

ReplicationHealthEx (119)

Esto corresponde a la propiedad ReplicationHealth de la clase _ ReplicationRelationship de Msvm. Se trata de una matriz para todos los valores de mantenimiento de replicación en la relación principal y extendida. El valor de índice 0 siempre es para la relación principal y, si la replicación extendida está habilitada, se devuelve en el índice 1.

SwapFilesInUse (120)

Esto corresponde a la propiedad SwapFilesInUse de la clase Msvm _ SummaryInformation.

IntegrationServicesVersionState (121)

ReplicationProviderId (122)

Esto corresponde a la propiedad Name de la clase _ ReplicationProvider de Msvm.

MemorySpansPhysicalNumaNodes (123)

IntegrationServicesVersionState (132)

Esto corresponde a la propiedad IntegrationServicesVersionState de la clase Msvm _ SummaryInformation.

OtherEnabledState (132)

Esto corresponde a la propiedad OtherEnabledState de la clase Msvm _ SummaryInformation.

(133)

SummaryInformation [ out]

Tipo: Msvm _ SummaryInformationBase[]

Matriz de instancias de Msvm _ SummaryInformationBase que contiene la información solicitada para las máquinas virtuales o instantáneas especificadas en la matriz SettingData. Esta matriz tendrá el mismo número de elementos que la matriz SettingData. Cada una de estas entradas contendrá la propiedad Name, incluso si no se solicitó esta propiedad. Si no se encuentra la máquina virtual o la instantánea o no está disponible, la propiedad Name de la entrada de información de resumen correspondiente estará vacía.

Las propiedades no especificadas en el parámetro RequestedInformation tendrán un valor NULL.

Nota

Tipo de datos actualizado desde en Windows 10, versión 1703 de Msvm _ SummaryInformation.

Valor devuelto

Tipo: uint32

Este método devuelve uno de los valores siguientes.

Completado sin error (0)

Parámetros de método comprobados: trabajo iniciado (4096)

Error (32768)

Acceso denegado (32769)

No compatible (32770)

El estado es desconocido (32771)

Tiempo de espera (32772)

Parámetro no válido (32773)

El sistema está en uso (32774)

Estado no válido para esta operación (32775)

Tipo de datos incorrecto (32776)

El sistema no está disponible (32777)

Memoria sin memoria (32778)

Observaciones

El acceso a la clase Msvm _ VirtualSystemManagementService podría estar restringido por el filtrado de UAC. Para obtener más información, vea Control de cuentas de usuario y WMI.

Ejemplos

En el siguiente ejemplo de C# se muestra información de resumen. Las utilidades a las que se hace referencia se pueden encontrar en Utilidades comunes para los ejemplos de virtualización (V2).

Importante

Para funcionar correctamente, el código siguiente debe ejecutarse en el servidor host de la máquina virtual y debe ejecutarse con privilegios 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 Value
Cliente mínimo compatible
[Windows 8 solo aplicaciones de escritorio]
Servidor mínimo compatible
[Windows Server 2012 solo aplicaciones de escritorio]
Espacio de nombres
Root \ Virtualization \ V2
MOF
WindowsVirtualization.V2.mof
Archivo DLL
Vmms.exe

Vea también

Msvm _ VirtualSystemManagementService

CIM _ VirtualSystemSettingData

Msvm _ SummaryInformation