Método GetSummaryInformation de la clase Msvm_VirtualSystemManagementService

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

Sintaxis

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

Parámetros

SettingData [in]

Tipo: CIM_VirtualSystemSettingData[]

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

RequestedInformation [in]

Tipo: uint32[]

Matriz de valores de enumeración, que corresponden a las propiedades de la clase Msvm_SummaryInformation , que especifican los datos que se van a recuperar 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 Msvm_SummaryInformation .

Nombre del elemento (1)

Esto corresponde a la propiedad ElementName de la clase Msvm_SummaryInformation .

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 en 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 en 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 en Windows 10 y Windows Server 2016.

Blindado (11)

Nota

Se agregó en Windows 10, versión 1703 y Windows Server 2016.

EnabledState (100)

Esto corresponde a la propiedad EnabledState de la clase Msvm_SummaryInformation .

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 Msvm_SummaryInformation .

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 Msvm_ReplicationRelationship . Se trata de una matriz para todos los valores de estado de replicación en la relación principal y extendida. El valor del í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 Msvm_ReplicationRelationship . Se trata de una matriz para todos los valores de mantenimiento de replicación en la relación principal y extendida. El valor del í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 Msvm_ReplicationProvider .

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 Msvm_SummaryInformationBase instancias que contienen 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 del método activados: 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 insuficiente (32778)

Comentarios

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 ejemplo de C# siguiente 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

Consulte también

Msvm_VirtualSystemManagementService

CIM_VirtualSystemSettingData

Msvm_SummaryInformation