Msvm_HeartbeatComponent classe
Représente l’état du service de pulsations, qui est chargé de surveiller l’état d’une machine virtuelle en signalant une pulsation à intervalles réguliers.
La syntaxe suivante est un code MOF (Managed Object Format) simplifié et inclut toutes les propriétés héritées.
Syntaxe
[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;
};
Membres
La classe Msvm_HeartbeatComponent a les types de membres suivants :
Méthodes
La classe Msvm_HeartbeatComponent a ces méthodes.
Méthode | Description |
---|---|
EnableDevice | Cette méthode n'est pas prise en charge. |
OnlineDevice | Cette méthode n'est pas prise en charge. |
QuiesceDevice | Cette méthode n'est pas prise en charge. |
RequestStateChange | Demande un changement d’état. |
Réinitialiser | Réinitialise l’appareil virtuel. |
RestoreProperties | Cette méthode n'est pas prise en charge. |
SaveProperties | Cette méthode n'est pas prise en charge. |
SetPowerState | Cette méthode n'est pas prise en charge. |
Propriétés
La classe Msvm_HeartbeatComponent a ces propriétés.
-
AdditionalAvailability
-
-
Type de données : tableau uint16
-
Type d'accès : Lecture seule
Toute disponibilité et status supplémentaires de l’appareil. Cette propriété est héritée de CIM_LogicalDevice et est toujours définie sur 6 (Non applicable).
-
-
Disponibilité
-
-
Type de données : uint16
-
Type d'accès : Lecture seule
Disponibilité principale et status de l’appareil. Cette propriété est héritée de CIM_LogicalDevice, mais elle n’est pas utilisée.
-
-
AvailableRequestedStates
-
-
Type de données : tableau uint16
-
Type d'accès : Lecture seule
Indique les valeurs possibles pour le paramètre RequestedState de la méthode RequestStateChange utilisée pour initier un changement d’état. Les valeurs répertoriées sont un sous-ensemble des valeurs contenues dans la propriété RequestedStatesSupported de la instance associée de CIM_EnabledLogicalElementCapabilities, où les valeurs sélectionnées sont une fonction de l’état actuel du CIM_EnabledLogicalElement. Cette propriété peut être non Null si une implémentation est en mesure de publier le jeu de valeurs possibles en tant que fonction de l’état actuel. Cette propriété a la valeur Null si une implémentation ne parvient pas à déterminer le jeu de valeurs possibles en fonction de l’état actuel.
Cette propriété est héritée de CIM_EnabledLogicalElement.
-
Activé (2)
-
Désactivé (3)
-
Arrêter (4)
-
Hors connexion (6)
-
Test (7)
-
Report (8)
-
Quiesce (9)
-
Redémarrage (10)
-
Réinitialiser (11)
-
DMTF Reserved (.. )
-
-
Caption
-
-
Type de données : chaîne
-
Type d'accès : Lecture seule
Brève description de l’objet. Cette propriété est héritée de la classe CIM_ManagedElement et est toujours définie sur « Pulsation ».
-
-
CommunicationStatus
-
-
Type de données : uint16
-
Type d'accès : Lecture seule
Indique la capacité de l’instrumentation à communiquer avec l’élément managé sous-jacent. Une valeur Null indique que cette propriété n’est pas implémentée. Cette propriété est héritée de CIM_ManagedSystemElement.
-
-
CreationClassName
-
-
Type de données : chaîne
-
Type d'accès : Lecture seule
Nom de la classe de création du système d’étendue. Cette propriété est héritée de CIM_LogicalDevice et est toujours définie sur « Msvm_HeartbeatComponent ».
-
-
Description
-
-
Type de données : chaîne
-
Type d'accès : Lecture seule
Description de l'objet . Cette propriété est héritée de CIM_ManagedElement et est toujours définie sur « Microsoft Heartbeat Service ».
-
-
DetailedStatus
-
-
Type de données : uint16
-
Type d'accès : Lecture seule
Complète la propriété PrimaryStatus avec des détails status supplémentaires. Une valeur Null indique que cette propriété n’est pas implémentée. Cette propriété est héritée de CIM_ManagedSystemElement.
-
-
DeviceID
-
-
Type de données : chaîne
-
Type d'accès : Lecture seule
Adresse ou autres informations d’identification permettant de nommer de manière unique l’appareil logique. Cette propriété est héritée de CIM_LogicalDevice et est toujours définie sur «GUID Microsoft:VMGUID\ » où VMGUID est la propriété Name de l’Msvm_ComputerSystem associée à cet appareil.
-
-
ElementName
-
-
Type de données : chaîne
-
Type d'accès : Lecture seule
Nom complet de l’objet. Cette propriété est héritée de CIM_ManagedElement et est toujours définie sur « Pulsation ».
-
-
EnabledDefault
-
-
Type de données : uint16
-
Type d'accès : Lecture seule
Cette propriété est héritée de CIM_EnabledLogicalElement et est toujours définie sur 7 (aucune valeur par défaut).
-
-
EnabledState
-
-
Type de données : uint16
-
Type d'accès : Lecture seule
États activés et désactivés d’un élément. Cette propriété est héritée de CIM_EnabledLogicalElement et sera l’une des valeurs suivantes.
Valeur Signification - Activé
- 2
L’élément est en cours d’exécution. - Désactivé
- 3
L’élément est désactivé. -
-
ErrorCleared
-
-
Type de données : booléen
-
Type d'accès : Lecture seule
Indique si l’erreur signalée dans LastErrorCode est maintenant effacée. Cette propriété est héritée de CIM_LogicalDevice mais n’est pas utilisée.
-
-
ErrorDescription
-
-
Type de données : chaîne
-
Type d'accès : Lecture seule
Chaîne qui fournit plus d’informations sur l’erreur enregistrée dans LastErrorCode et des informations sur les actions correctives pouvant être effectuées. Cette propriété est héritée de CIM_LogicalDevice mais n’est pas utilisée.
-
-
HealthState
-
-
Type de données : uint16
-
Type d'accès : Lecture seule
Intégrité actuelle de l’élément. Cette propriété est héritée de CIM_ManagedSystemElement et est toujours définie sur 5 (OK).
-
-
IdentifyingDescriptions
-
-
Type de données : tableau de chaînes
-
Type d'accès : Lecture seule
Tableau de chaînes de forme libre qui fournissent des explications et des détails sur les entrées dans le tableau de propriétés OtherIdentifyingInfo . Cette propriété est héritée de CIM_LogicalDevice, mais elle n’est pas utilisée.
-
-
InstallDate
-
-
Type de données : datetime
-
Type d'accès : Lecture seule
Date et heure auxquelles le service d’intégration a été installé sur la machine virtuelle. Cette propriété est héritée de CIM_ManagedSystemElement.
-
-
InstanceID
-
-
Type de données : chaîne
-
Type d'accès : Lecture seule
-
Qualificateurs : Clé
Identifie de manière unique un instance de cette classe. Cette propriété est héritée de CIM_ManagedElement.
-
-
LastErrorCode
-
-
Type de données : uint32
-
Type d'accès : Lecture seule
Dernier code d’erreur signalé par l’appareil logique. Cette propriété est héritée de CIM_LogicalDevice, mais elle n’est pas utilisée.
-
-
MaxQuiesceTime
-
-
Type de données : uint64
-
Type d'accès : Lecture seule
Cette propriété est dépréciée. Cette propriété est héritée de CIM_LogicalDevice, mais elle n’est pas utilisée.
-
-
Nom
-
-
Type de données : chaîne
-
Type d'accès : Lecture seule
Étiquette par laquelle l’objet est connu. Cette propriété est héritée de CIM_ManagedSystemElement.
-
-
OperatingStatus
-
-
Type de données : uint16
-
Type d'accès : Lecture seule
Fournit des informations de status actuelles sur la condition opérationnelle de l’élément et peut être utilisée pour fournir plus de détails concernant la valeur de la propriété EnabledState. Une valeur Null indique que cette propriété n’est pas implémentée. Cette propriété est héritée de CIM_ManagedSystemElement.
-
-
OperationalStatus
-
-
Type de données : tableau uint16
-
Type d'accès : Lecture seule
-
Qualificateurs : Override (« OperationalStatus »), ArrayType (« Indexed »)
Status actuelle de l’élément. Cette propriété est héritée de CIM_ManagedSystemElement.
Voici les valeurs possibles pour la valeur de propriété OperationalStatus[0].
-
-
OK (2)
-
Le service fonctionne normalement. Les valeurs des propriétés OperationalStatus[1] et StatusDescriptions[1] peuvent contenir plus d’informations.
-
Détérioré (3)
-
Le service fonctionne normalement, mais le service invité a négocié une version de protocole de communication compatible. Les valeurs des propriétés OperationalStatus[1] et StatusDescriptions[1] peuvent contenir plus d’informations.
-
Erreur non récupérable (7)
-
L’invité ne prend pas en charge une version de protocole compatible. Les valeurs des propriétés OperationalStatus[1] et StatusDescriptions[1] peuvent contenir plus d’informations.
-
Aucun contact (12)
-
Le service invité n’est pas installé ou n’a pas encore été contacté.
-
Perte de communication (13)
-
Le service invité ne répond plus normalement.
-
Suspendu (15)
-
La machine virtuelle est suspendue.
La valeur de la propriété OperationalStatus[1] indique les valeurs d’état de l’application fusionnées. Il s’agit de l’une des valeurs suivantes.
Notes
L’état d’une application est défini sur la machine virtuelle à l’aide de la méthode SetApplicationState .
OK (2)
Les applications qui s’exécutent à l’intérieur de la machine virtuelle fonctionnent normalement.
Incompatibilité de protocole (32775)
Les composants invité et hôte exécutent des versions de protocole différentes.
État critique de l’application (32782)
Une ou plusieurs des applications à l’intérieur de la machine virtuelle sont dans un état critique.
Communication expirée (32783)
Expiration du délai d’attente d’une réponse du composant invité.
Échec de communication (32784)
Échec de la communication avec le composant invité.
OtherEnabledState
-
Type de données : chaîne
-
Type d'accès : Lecture seule
Chaîne qui décrit l’état activé ou désactivé de l’élément lorsque la propriété EnabledState a la valeur 1 (Autre). Cette propriété doit avoir la valeur Null lorsque la propriété EnabledState a une valeur autre que 1. Cette propriété est héritée de CIM_EnabledLogicalElement et est toujours définie sur Null.
OtherIdentifyingInfo
-
Type de données : tableau de chaînes
-
Type d'accès : Lecture seule
Toutes les données supplémentaires, au-delà des informations d’ID d’appareil, qui peuvent être utilisées pour identifier un appareil logique. Cette propriété est héritée de CIM_LogicalDevice et est toujours définie sur Null.
PowerManagementCapabilities
-
Type de données : tableau uint16
-
Type d'accès : Lecture seule
Fonctionnalités de gestion de l’alimentation de l’appareil. Cette propriété est héritée de CIM_LogicalDevice, mais elle n’est pas utilisée.
PowerManagementSupported
-
Type de données : booléen
-
Type d'accès : Lecture seule
Indique si l’appareil peut être géré par l’alimentation. Cette propriété est héritée de CIM_LogicalDevice, mais elle n’est pas utilisée.
PowerOnHours
-
Type de données : uint64
-
Type d'accès : Lecture seule
Nombre d’heures consécutives pendant lesquelles cet appareil a été mis sous tension depuis son dernier cycle d’alimentation. Cette propriété est héritée de CIM_LogicalDevice mais n’est pas utilisée.
PrimaryStatus
-
Type de données : uint16
-
Type d'accès : Lecture seule
Fournit des informations de status de haut niveau. Cette propriété doit être utilisée conjointement avec la propriété DetailedStatus pour fournir des informations d’intégrité de haut niveau et détaillées status pour l’élément et ses sous-composants. Une valeur Null indique que cette propriété n’est pas implémentée. Cette propriété est héritée de CIM_ManagedSystemElement.
RequestedState
-
Type de données : uint16
-
Type d'accès : Lecture seule
Dernier état demandé ou souhaité pour l’élément. Cette propriété est héritée de CIM_EnabledLogicalElement et est toujours définie sur 12 (Non applicable).
État
-
Type de données : chaîne
-
Type d'accès : Lecture seule
Status actuelle de l’objet. Cette propriété est héritée de CIM_ManagedSystemElement mais n’est pas utilisée.
StatusDescriptions
-
Type de données : tableau de chaînes
-
Type d'accès : Lecture seule
Chaînes qui décrivent les différentes valeurs du tableau OperationalStatus . Cette propriété est héritée de CIM_ManagedSystemElement.
StatusInfo
-
Type de données : uint16
-
Type d'accès : Lecture seule
État actuel de l’appareil logique. Cette propriété est héritée de CIM_LogicalDevice, mais elle n’est pas utilisée.
SystemCreationClassName
-
Type de données : chaîne
-
Type d'accès : Lecture seule
Nom de la classe de création du système d’étendue. Cette propriété est héritée de CIM_LogicalDevice et est toujours définie sur « Msvm_ComputerSystem ».
SystemName
-
Type de données : chaîne
-
Type d'accès : Lecture seule
Nom du système d’étendue. Cette propriété est héritée de CIM_LogicalDevice et est le nom du Msvm_ComputerSystem associé à ce service de pulsations.
TimeOfLastStateChange
-
Type de données : datetime
-
Type d'accès : Lecture seule
Date ou heure de la dernière modification de l’état activé de l’élément. Cette propriété est héritée de CIM_EnabledLogicalElement et est toujours définie sur Null.
TotalPowerOnHours
-
Type de données : uint64
-
Type d'accès : Lecture seule
Nombre total d’heures pendant lesquelles cet appareil a été alimenté. Cette propriété est héritée de CIM_LogicalDevice, mais elle n’est pas utilisée.
TransitioningToState
-
Type de données : uint16
-
Type d'accès : Lecture seule
Indique l’état cible vers lequel le instance effectue la transition. Cette propriété est héritée de CIM_EnabledLogicalElement, mais elle n’est pas utilisée.
Notes
L’accès à la classe Msvm_HeartbeatComponent peut être limité par le filtrage UAC. Pour plus d’informations, consultez Contrôle de compte d’utilisateur et WMI.
Exemples
L’exemple C# suivant obtient l’status d’intégrité de l’application d’une machine virtuelle. Les utilitaires référencés se trouvent dans Utilitaires communs pour les exemples de virtualisation (V2).
Important
Pour fonctionner correctement, le code suivant doit être exécuté avec des privilèges d’administrateur.
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");
}
}
}
Spécifications
Condition requise | Valeur |
---|---|
Client minimal pris en charge |
Windows 8 [applications de bureau uniquement] |
Serveur minimal pris en charge |
Windows Server 2012 [applications de bureau uniquement] |
Espace de noms |
Root\Virtualization\V2 |
MOF |
|
DLL |
|