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 |
|
Archivo DLL |
|