Compartir a través de


Msvm_HeartbeatComponent clase

Representa el estado del servicio de latido, que es responsable de supervisar el estado de una máquina virtual notificando un latido a intervalos regulares.

La sintaxis siguiente es código de Formato de objeto administrado (MOF) simplificado e incluye todas las propiedades heredadas.

Sintaxis

[Dynamic, Provider("VmmsWmiInstanceAndMethodProvider"), AMENDMENT]
class Msvm_HeartbeatComponent : CIM_LogicalDevice
{
  string   InstanceID;
  string   Caption = "Heartbeat";
  string   Description = "Microsoft Heartbeat Service";
  string   ElementName = "Heartbeat";
  datetime InstallDate;
  string   Name;
  uint16   OperationalStatus[];
  string   StatusDescriptions[];
  string   Status;
  uint16   HealthState = 5;
  uint16   CommunicationStatus;
  uint16   DetailedStatus;
  uint16   OperatingStatus;
  uint16   PrimaryStatus;
  uint16   EnabledState = 2;
  string   OtherEnabledState;
  uint16   RequestedState = 12;
  uint16   EnabledDefault = 7;
  datetime TimeOfLastStateChange;
  uint16   AvailableRequestedStates[];
  uint16   TransitioningToState;
  string   SystemCreationClassName = "Msvm_ComputerSystem";
  string   SystemName;
  string   CreationClassName = "Msvm_HeartbeatComponent";
  string   DeviceID = "Microsoft:VMGUID\GUID";
  boolean  PowerManagementSupported;
  uint16   PowerManagementCapabilities[];
  uint16   Availability;
  uint16   StatusInfo;
  uint32   LastErrorCode;
  string   ErrorDescription;
  boolean  ErrorCleared;
  string   OtherIdentifyingInfo[];
  uint64   PowerOnHours;
  uint64   TotalPowerOnHours;
  string   IdentifyingDescriptions[];
  uint16   AdditionalAvailability[] = 6;
  uint64   MaxQuiesceTime;
};

Miembros

La clase Msvm_HeartbeatComponent tiene estos tipos de miembros:

Métodos

La clase Msvm_HeartbeatComponent tiene estos métodos.

Método Descripción
EnableDevice No se admite este método.
OnlineDevice No se admite este método.
QuiesceDevice No se admite este método.
RequestStateChange Solicita un cambio de estado.
Restablecer Restablece el dispositivo virtual.
RestoreProperties No se admite este método.
SaveProperties No se admite este método.
SetPowerState No se admite este método.

Propiedades

La clase Msvm_HeartbeatComponent tiene estas propiedades.

AdditionalAvailability

Tipo de datos: matriz uint16

Tipo de acceso: solo lectura

Cualquier disponibilidad y estado adicionales del dispositivo. Esta propiedad se hereda de CIM_LogicalDevice y siempre se establece en 6 (no aplicable).

Disponibilidad

Tipo de datos: uint16

Tipo de acceso: solo lectura

La disponibilidad principal y el estado del dispositivo. Esta propiedad se hereda de CIM_LogicalDevice, pero no se usa.

AvailableRequestedStates

Tipo de datos: matriz uint16

Tipo de acceso: solo lectura

Indica los valores posibles para el parámetro RequestedState del método RequestStateChange utilizado para iniciar un cambio de estado. Los valores enumerados serán un subconjunto de los valores contenidos en la propiedad RequestedStatesSupported de la instancia asociada de CIM_EnabledLogicalElementCapabilities, donde los valores seleccionados son una función del estado actual del CIM_EnabledLogicalElement. Esta propiedad puede ser distinta de Null si una implementación puede anunciar el conjunto de valores posibles como función del estado actual. Esta propiedad será Null si una implementación no puede determinar el conjunto de valores posibles como una función del estado actual.

Esta propiedad se hereda de CIM_EnabledLogicalElement.

Habilitado (2)

Deshabilitado (3)

Apagar (4)

Sin conexión (6)

Prueba (7)

Aplazar (8)

Quiesce (9)

Reinicio (10)

Restablecimiento (11)

DMTF Reserved (.. )

Caption

Tipo de datos: cadena

Tipo de acceso: solo lectura

Descripción breve del objeto. Esta propiedad se hereda de la clase CIM_ManagedElement y siempre se establece en "Heartbeat".

CommunicationStatus

Tipo de datos: uint16

Tipo de acceso: solo lectura

Indica la capacidad de la instrumentación para comunicarse con el elemento administrado subyacente. Un valor Null indica que esta propiedad no está implementada. Esta propiedad se hereda de CIM_ManagedSystemElement.

CreationClassName

Tipo de datos: cadena

Tipo de acceso: solo lectura

Nombre de la clase de creación del sistema de ámbito. Esta propiedad se hereda de CIM_LogicalDevice y siempre se establece en "Msvm_HeartbeatComponent".

Descripción

Tipo de datos: cadena

Tipo de acceso: solo lectura

Descripción del objeto. Esta propiedad se hereda de CIM_ManagedElement y siempre se establece en "Servicio de latido de Microsoft".

DetailedStatus

Tipo de datos: uint16

Tipo de acceso: solo lectura

Complementa la propiedad PrimaryStatus con detalles de estado adicionales. Un valor Null indica que esta propiedad no está implementada. Esta propiedad se hereda de CIM_ManagedSystemElement.

Deviceid

Tipo de datos: cadena

Tipo de acceso: solo lectura

Una dirección u otra información de identificación para asignar un nombre único al dispositivo lógico. Esta propiedad se hereda de CIM_LogicalDevice y siempre se establece en "Microsoft:VMGUIDGUID" donde VMGUID\ es la propiedad Name del Msvm_ComputerSystem asociado a este dispositivo.

ElementName

Tipo de datos: cadena

Tipo de acceso: solo lectura

Nombre para mostrar del objeto. Esta propiedad se hereda de CIM_ManagedElement y siempre se establece en "Heartbeat".

EnabledDefault

Tipo de datos: uint16

Tipo de acceso: solo lectura

Esta propiedad se hereda de CIM_EnabledLogicalElement y siempre se establece en 7 (sin valor predeterminado).

EnabledState

Tipo de datos: uint16

Tipo de acceso: solo lectura

Estados habilitados y deshabilitados de un elemento. Esta propiedad se hereda de CIM_EnabledLogicalElement y será uno de los valores siguientes.

Value Significado
Enabled
2
El elemento se está ejecutando.
Deshabilitado
3
El elemento está desactivado.

ErrorCleared

Tipo de datos: booleano

Tipo de acceso: solo lectura

Indica si el error notificado en LastErrorCode ahora está borrado. Esta propiedad se hereda de CIM_LogicalDevice pero no se usa.

ErrorDescription

Tipo de datos: cadena

Tipo de acceso: solo lectura

Cadena que proporciona más información sobre el error registrado en LastErrorCode e información sobre las acciones correctivas que se pueden realizar. Esta propiedad se hereda de CIM_LogicalDevice pero no se usa.

HealthState

Tipo de datos: uint16

Tipo de acceso: solo lectura

Estado actual del elemento. Esta propiedad se hereda de CIM_ManagedSystemElement y siempre se establece en 5 (OK).

IdentifyingDescriptions

Tipo de datos: matriz de cadenas

Tipo de acceso: solo lectura

Matriz de cadenas de forma libre que proporcionan explicaciones y detalles detrás de las entradas de la matriz de propiedades OtherIdentifyingInfo . Esta propiedad se hereda de CIM_LogicalDevice, pero no se usa.

InstallDate

Tipo de datos: datetime

Tipo de acceso: solo lectura

Fecha y hora en que se instaló el servicio de integración en la máquina virtual. Esta propiedad se hereda de CIM_ManagedSystemElement.

InstanceID

Tipo de datos: cadena

Tipo de acceso: solo lectura

Calificadores: Clave

Identifica de forma única una instancia de esta clase. Esta propiedad se hereda de CIM_ManagedElement.

LastErrorCode

Tipo de datos: uint32

Tipo de acceso: solo lectura

El último código de error notificado por el dispositivo lógico. Esta propiedad se hereda de CIM_LogicalDevice, pero no se usa.

MaxQuiesceTime

Tipo de datos: uint64

Tipo de acceso: solo lectura

Esta propiedad está en desuso. Esta propiedad se hereda de CIM_LogicalDevice, pero no se usa.

Nombre

Tipo de datos: cadena

Tipo de acceso: solo lectura

Etiqueta por la que se conoce el objeto. Esta propiedad se hereda de CIM_ManagedSystemElement.

OperatingStatus

Tipo de datos: uint16

Tipo de acceso: solo lectura

Proporciona información de estado actual para la condición operativa del elemento y se puede usar para proporcionar más detalles con respecto al valor de la propiedad EnabledState . Un valor Null indica que esta propiedad no está implementada. Esta propiedad se hereda de CIM_ManagedSystemElement.

OperationalStatus

Tipo de datos: matriz uint16

Tipo de acceso: solo lectura

Calificadores: Invalidación ("OperationalStatus"), ArrayType ("Indexed")

Estado actual del elemento. Esta propiedad se hereda de CIM_ManagedSystemElement.

A continuación se muestran los valores posibles para el valor de la propiedad OperationalStatus[0].

Ok (2)

El servicio funciona normalmente. Los valores de propiedad OperationalStatus[1] y StatusDescriptions[1] pueden contener más información.

Degradado (3)

El servicio funciona normalmente, pero el servicio invitado negoció una versión de protocolo de comunicaciones compatible. Los valores de propiedad OperationalStatus[1] y StatusDescriptions[1] pueden contener más información.

Error no recuperable (7)

El invitado no admite una versión de protocolo compatible. Los valores de propiedad OperationalStatus[1] y StatusDescriptions[1] pueden contener más información.

Sin contacto (12)

El servicio de invitado no está instalado o aún no se ha contactado.

Comunicación perdida (13)

El servicio invitado ya no responde con normalidad.

En pausa (15)

La máquina virtual está en pausa.

El valor de la propiedad OperationalStatus[1] indica los valores de estado de la aplicación fusionados. Este será uno de los valores siguientes.

Nota:

El estado de una aplicación se establece en la máquina virtual mediante el método SetApplicationState .

Ok (2)

Las aplicaciones que se ejecutan dentro de la máquina virtual funcionan normalmente.

Error de coincidencia de protocolo (32775)

Los componentes de invitado y host ejecutan diferentes versiones de protocolo.

Estado crítico de la aplicación (32782)

Una o varias de las aplicaciones dentro de la máquina virtual están en un estado crítico.

Tiempo de espera de comunicación (32783)

Se agota el tiempo de espera en espera de una respuesta del componente invitado.

Error de comunicación (32784)

No se pudo comunicar con el componente invitado.

OtherEnabledState

Tipo de datos: cadena

Tipo de acceso: solo lectura

Cadena que describe el estado habilitado o deshabilitado del elemento cuando la propiedad EnabledState está establecida en 1 (Otros). Esta propiedad debe establecerse en Null cuando la propiedad EnabledState es cualquier valor distinto de 1. Esta propiedad se hereda de CIM_EnabledLogicalElement y siempre se establece en Null.

OtherIdentifyingInfo

Tipo de datos: matriz de cadenas

Tipo de acceso: solo lectura

Cualquier dato adicional, más allá de la información del identificador de dispositivo, que se podría usar para identificar un dispositivo lógico. Esta propiedad se hereda de CIM_LogicalDevice y siempre se establece en Null.

PowerManagementCapabilities

Tipo de datos: matriz uint16

Tipo de acceso: solo lectura

Las funcionalidades de administración de energía del dispositivo. Esta propiedad se hereda de CIM_LogicalDevice, pero no se usa.

PowerManagementSupported

Tipo de datos: booleano

Tipo de acceso: solo lectura

Indica si el dispositivo se puede administrar con energía. Esta propiedad se hereda de CIM_LogicalDevice, pero no se usa.

PowerOnHours

Tipo de datos: uint64

Tipo de acceso: solo lectura

Número de horas consecutivas que este dispositivo se ha encendido desde su último ciclo de alimentación. Esta propiedad se hereda de CIM_LogicalDevice pero no se usa.

PrimaryStatus

Tipo de datos: uint16

Tipo de acceso: solo lectura

Proporciona información de estado de alto nivel. Esta propiedad debe usarse junto con la propiedad DetailedStatus para proporcionar información de estado de mantenimiento detallada y de alto nivel para el elemento y sus subcomponentes. Un valor Null indica que esta propiedad no está implementada. Esta propiedad se hereda de CIM_ManagedSystemElement.

RequestedState

Tipo de datos: uint16

Tipo de acceso: solo lectura

El último estado solicitado o deseado para el elemento. Esta propiedad se hereda de CIM_EnabledLogicalElement y siempre se establece en 12 (no aplicable).

Estado

Tipo de datos: cadena

Tipo de acceso: solo lectura

Estado actual del objeto. Esta propiedad se hereda de CIM_ManagedSystemElement pero no se usa.

StatusDescriptions

Tipo de datos: matriz de cadenas

Tipo de acceso: solo lectura

Cadenas que describen los distintos valores de matriz OperationalStatus . Esta propiedad se hereda de CIM_ManagedSystemElement.

StatusInfo

Tipo de datos: uint16

Tipo de acceso: solo lectura

Estado actual del dispositivo lógico. Esta propiedad se hereda de CIM_LogicalDevice, pero no se usa.

SystemCreationClassName

Tipo de datos: cadena

Tipo de acceso: solo lectura

Nombre de clase de creación del sistema de ámbito. Esta propiedad se hereda de CIM_LogicalDevice y siempre se establece en "Msvm_ComputerSystem".

SystemName

Tipo de datos: cadena

Tipo de acceso: solo lectura

Nombre del sistema de ámbito. Esta propiedad se hereda de CIM_LogicalDevice y es el nombre del Msvm_ComputerSystem asociado a este servicio de latido.

TimeOfLastStateChange

Tipo de datos: datetime

Tipo de acceso: solo lectura

Fecha u hora en que el estado habilitado del elemento cambió por última vez. Esta propiedad se hereda de CIM_EnabledLogicalElement y siempre se establece en Null.

TotalPowerOnHours

Tipo de datos: uint64

Tipo de acceso: solo lectura

Número total de horas que este dispositivo se ha encendido. Esta propiedad se hereda de CIM_LogicalDevice, pero no se usa.

TransitioningToState

Tipo de datos: uint16

Tipo de acceso: solo lectura

Indica el estado de destino al que se está realizando la transición de la instancia. Esta propiedad se hereda de CIM_EnabledLogicalElement, pero no se usa.

Comentarios

El acceso a la clase Msvm_HeartbeatComponent 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 obtiene el estado de mantenimiento de la aplicación de una máquina virtual. 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 con privilegios de administrador.

private UInt16 OperationalStatusOk = 2;
private UInt16 OperationalStatusApplicationCriticalState = 32782;

/// <summary>
/// Gets the applications status in the VM.
/// </summary>
/// <param name="hostMachine">The hostname of the machine on which
/// the VM is running.</param>
/// <param name="vmName">The VM name.</param>
public
void
GetAppHealthStatus(
    string hostMachine,
    string vmName
    )
{
    ManagementScope scope = new ManagementScope(
        @"\\" + hostMachine + @"\root\virtualization\v2", null);

    ManagementObject heartBeatComponent = null;

    // Get the VM object and its heart beat component.
    using (ManagementObject vm = WmiUtilities.GetVirtualMachine(vmName, scope))
    using (ManagementObjectCollection heartBeatCollection =
        vm.GetRelated("Msvm_HeartbeatComponent", "Msvm_SystemDevice",
            null, null, null, null, false, null))
    {
        foreach (ManagementObject element in heartBeatCollection)
        {
            heartBeatComponent = element;
            break;
        }
    }

    if (heartBeatComponent == null)
    {
        Console.WriteLine("The VM is not running.");
        return;
    }

    using (heartBeatComponent)
    {
        UInt16[] operationalStatus = (UInt16[])heartBeatComponent["OperationalStatus"];
        UInt16 vmStatus = operationalStatus[0];

        if (vmStatus != OperationalStatusOk)
        {
            Console.WriteLine("The VM heartbeat status is not OK");
            return;
        }

        if (operationalStatus.Length != 2)
        {
            Console.WriteLine("The required Integration Components are not running " +
                "or not installed.");
            return;
        }

        UInt16 appStatus = operationalStatus[1];
        if (appStatus == OperationalStatusOk)
        {
            Console.WriteLine("The VM applications health status: OK");
        }
        else if (appStatus == OperationalStatusApplicationCriticalState)
        {
            Console.WriteLine("The VM applications health status: Critical");
        }
        else
        {
            throw new ManagementException("Unknown application health status");
        }
    }
}

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

CIM_LogicalDevice

CIM_LogicalDevice

Msvm_HeartbeatComponent