класс Msvm_HeartbeatComponent
Представляет состояние службы пульса, которая отвечает за мониторинг состояния виртуальной машины, сообщая о пульсе через регулярные интервалы.
Следующий синтаксис представляет собой упрощенный код MOF и включает все унаследованные свойства.
Синтаксис
[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;
};
Члены
Класс Msvm_HeartbeatComponent имеет следующие типы членов:
Методы
Класс Msvm_HeartbeatComponent содержит эти методы.
Метод | Описание |
---|---|
EnableDevice | Этот метод не поддерживается. |
OnlineDevice | Этот метод не поддерживается. |
QuiesceDevice | Этот метод не поддерживается. |
RequestStateChange | Запрашивает изменение состояния. |
Reset | Сбрасывает виртуальное устройство. |
Свойства RestoreProperties | Этот метод не поддерживается. |
Saveproperties | Этот метод не поддерживается. |
SetPowerState | Этот метод не поддерживается. |
Свойства
Класс Msvm_HeartbeatComponent имеет эти свойства.
-
Дополнительная Доступность
-
-
Тип данных: массив uint16
-
Тип доступа: только для чтения
Любые дополнительные сведения о доступности и состоянии устройства. Это свойство наследуется от CIM_LogicalDevice и всегда имеет значение 6 (неприменимо).
-
-
Доступность
-
-
Тип данных: uint16
-
Тип доступа: только для чтения
Основная доступность и состояние устройства. Это свойство наследуется от CIM_LogicalDevice, но не используется.
-
-
AvailableRequestedStates
-
-
Тип данных: массив uint16
-
Тип доступа: только для чтения
Указывает возможные значения параметра RequestedState метода RequestStateChange , используемого для инициирования изменения состояния. Перечисленные значения будут подмножеством значений, содержащихся в свойстве RequestedStatesSupported связанного экземпляра CIM_EnabledLogicalElementCapabilities, где выбранные значения являются функцией текущего состояния CIM_EnabledLogicalElement. Это свойство может быть не равно Null , если реализация может объявить набор возможных значений как функцию текущего состояния. Это свойство будет иметь значение Null , если реализация не может определить набор возможных значений как функцию текущего состояния.
Это свойство наследуется от CIM_EnabledLogicalElement.
-
Включено (2)
-
Отключено (3)
-
Завершение работы (4)
-
В автономном режиме (6)
-
Тест (7)
-
Отложить (8)
-
Замораживая (9)
-
Перезагрузка (10)
-
Сброс (11)
-
Зарезервировано DMTF (.. )
-
-
Caption
-
-
Тип данных: string
-
Тип доступа: только для чтения
Краткое описание объекта . Это свойство наследуется от класса CIM_ManagedElement и всегда имеет значение Heartbeat.
-
-
CommunicationStatus
-
-
Тип данных: uint16
-
Тип доступа: только для чтения
Указывает возможность инструментирования взаимодействовать с базовым управляемым элементом. Значение NULL указывает, что это свойство не реализовано. Это свойство наследуется от CIM_ManagedSystemElement.
-
-
CreationClassName
-
-
Тип данных: string
-
Тип доступа: только для чтения
Имя класса создания системы области. Это свойство наследуется от CIM_LogicalDevice и всегда имеет значение "Msvm_HeartbeatComponent".
-
-
Описание
-
-
Тип данных: string
-
Тип доступа: только для чтения
Описание объекта. Это свойство наследуется от CIM_ManagedElement и всегда имеет значение Microsoft Heartbeat Service.
-
-
DetailedStatus
-
-
Тип данных: uint16
-
Тип доступа: только для чтения
Дополняет свойство PrimaryStatus дополнительными сведениями о состоянии. Значение NULL указывает, что это свойство не реализовано. Это свойство наследуется от CIM_ManagedSystemElement.
-
-
DeviceID
-
-
Тип данных: string
-
Тип доступа: только для чтения
Адрес или другие идентифицирующие сведения для уникального имени логического устройства. Это свойство наследуется от CIM_LogicalDevice и всегда имеет значение "Microsoft:VMGUID\GUID", где VMGUID — это свойство NameMsvm_ComputerSystem , связанного с этим устройством.
-
-
ElementName
-
-
Тип данных: string
-
Тип доступа: только для чтения
Отображаемое имя объекта. Это свойство наследуется от CIM_ManagedElement и всегда имеет значение Heartbeat.
-
-
EnabledDefault
-
-
Тип данных: uint16
-
Тип доступа: только для чтения
Это свойство наследуется от CIM_EnabledLogicalElement и всегда имеет значение 7 (нет по умолчанию).
-
-
EnabledState
-
-
Тип данных: uint16
-
Тип доступа: только для чтения
Включенные и отключенные состояния элемента. Это свойство наследуется от CIM_EnabledLogicalElement и будет одним из следующих значений.
Значение Значение - Enabled
- 2
Элемент выполняется. - Отключено
- 3
Элемент отключен. -
-
ErrorCleared
-
-
Тип данных: boolean
-
Тип доступа: только для чтения
Указывает, снята ли ошибка, сообщаемая в LastErrorCode . Это свойство наследуется от CIM_LogicalDevice , но не используется.
-
-
ErrorDescription
-
-
Тип данных: string
-
Тип доступа: только для чтения
Строка, которая предоставляет дополнительные сведения об ошибке, записанной в LastErrorCode , и сведения о любых корректирующих действиях, которые можно выполнить. Это свойство наследуется от CIM_LogicalDevice , но не используется.
-
-
HealthState
-
-
Тип данных: uint16
-
Тип доступа: только для чтения
Текущая работоспособность элемента. Это свойство наследуется от CIM_ManagedSystemElement и всегда имеет значение 5 (ОК).
-
-
IdentifyingDescriptions
-
-
Тип данных: строковый массив
-
Тип доступа: только для чтения
Массив строк свободной формы, которые предоставляют пояснения и сведения о записях в массиве свойств OtherIdentifyingInfo . Это свойство наследуется от CIM_LogicalDevice, но не используется.
-
-
InstallDate
-
-
Тип данных: datetime
-
Тип доступа: только для чтения
Дата и время установки службы интеграции на виртуальной машине. Это свойство наследуется от CIM_ManagedSystemElement.
-
-
InstanceID
-
-
Тип данных: string
-
Тип доступа: только для чтения
-
Квалификаторы: Ключ
Уникально идентифицирует экземпляр этого класса. Это свойство наследуется от CIM_ManagedElement.
-
-
LastErrorCode
-
-
Тип данных: uint32
-
Тип доступа: только для чтения
Последний код ошибки, сообщаемый логическим устройством. Это свойство наследуется от CIM_LogicalDevice, но не используется.
-
-
MaxQuiesceTime
-
-
Тип данных: uint64
-
Тип доступа: только для чтения
Это свойство использовать не рекомендуется. Это свойство наследуется от CIM_LogicalDevice, но не используется.
-
-
имя;
-
-
Тип данных: string
-
Тип доступа: только для чтения
Метка, по которой известен объект. Это свойство наследуется от CIM_ManagedSystemElement.
-
-
OperatingStatus
-
-
Тип данных: uint16
-
Тип доступа: только для чтения
Предоставляет сведения о текущем состоянии для рабочего состояния элемента и может использоваться для предоставления дополнительных сведений о значении свойства EnabledState . Значение NULL указывает, что это свойство не реализовано. Это свойство наследуется от CIM_ManagedSystemElement.
-
-
OperationalStatus
-
-
Тип данных: массив uint16
-
Тип доступа: только для чтения
-
Квалификаторы: Override ("OperationalStatus"), ArrayType ("Indexed")
Текущее состояние элемента. Это свойство наследуется от CIM_ManagedSystemElement.
Ниже приведены возможные значения для значения свойства OperationalStatus[0].
-
-
ОК (2)
-
Служба работает нормально. Значения свойств OperationalStatus[1] и StatusDescriptions[1] могут содержать дополнительные сведения.
-
Понижение производительности (3)
-
Служба работает нормально, но гостевая служба согласует совместимую версию протокола связи. Значения свойств OperationalStatus[1] и StatusDescriptions[1] могут содержать дополнительные сведения.
-
Невосстанавливаемая ошибка (7)
-
Гость не поддерживает совместимую версию протокола. Значения свойств OperationalStatus[1] и StatusDescriptions[1] могут содержать дополнительные сведения.
-
Нет контакта (12)
-
Гостевая служба не установлена или еще не связалась с ней.
-
Потерянная связь (13)
-
Гостевая служба больше не отвечает нормально.
-
Приостановлено (15)
-
Виртуальная машина приостановлена.
Значение свойства OperationalStatus[1] указывает на объединенные значения состояния приложения. Это будет одно из следующих значений.
Примечание
Состояние приложения задается на виртуальной машине с помощью метода SetApplicationState .
ОК (2)
Приложения, работающие на виртуальной машине, работают в обычном режиме.
Несоответствие протокола (32775)
Гостевой и главный компоненты работают под управлением разных версий протокола.
Критическое состояние приложения (32782)
Одно или несколько приложений на виртуальной машине находятся в критическом состоянии.
Истекло время ожидания связи (32783)
Истекло время ожидания ответа от гостевого компонента.
Сбой связи (32784)
Не удалось связаться с гостевым компонентом.
OtherEnabledState
-
Тип данных: string
-
Тип доступа: только для чтения
Строка, описывающая состояние включенного или отключенного элемента, когда свойству EnabledState присвоено значение 1 (Other). Это свойство должно иметь значение Null , если свойство EnabledState имеет любое значение, отличное от 1. Это свойство наследуется от CIM_EnabledLogicalElement и всегда имеет значение Null.
OtherIdentifyingInfo
-
Тип данных: строковый массив
-
Тип доступа: только для чтения
Любые дополнительные данные, помимо сведений об идентификаторе устройства, которые можно использовать для идентификации логического устройства. Это свойство наследуется от CIM_LogicalDevice и всегда имеет значение Null.
PowerManagementCapabilities
-
Тип данных: массив uint16
-
Тип доступа: только для чтения
Возможности управления питанием устройства. Это свойство наследуется от CIM_LogicalDevice, но не используется.
PowerManagementSupported
-
Тип данных: boolean
-
Тип доступа: только для чтения
Указывает, можно ли управлять питанием устройства. Это свойство наследуется от CIM_LogicalDevice, но не используется.
PowerOnHours
-
Тип данных: uint64
-
Тип доступа: только для чтения
Количество последовательных часов, в течение которых это устройство включается с момента последнего цикла питания. Это свойство наследуется от CIM_LogicalDevice , но не используется.
PrimaryStatus
-
Тип данных: uint16
-
Тип доступа: только для чтения
Предоставляет сведения о состоянии высокого уровня. Это свойство следует использовать вместе со свойством DetailedStatus для предоставления высокоуровневых и подробных сведений о состоянии работоспособности для элемента и его подкомпонентов. Значение NULL указывает, что это свойство не реализовано. Это свойство наследуется от CIM_ManagedSystemElement.
RequestedState
-
Тип данных: uint16
-
Тип доступа: только для чтения
Последнее запрошенное или требуемое состояние элемента. Это свойство наследуется от CIM_EnabledLogicalElement и всегда имеет значение 12 (неприменимо).
Состояние
-
Тип данных: string
-
Тип доступа: только для чтения
Текущее состояние объекта. Это свойство наследуется от CIM_ManagedSystemElement , но не используется.
Описания состояния
-
Тип данных: строковый массив
-
Тип доступа: только для чтения
Строки, описывающие различные значения массива OperationalStatus . Это свойство наследуется от CIM_ManagedSystemElement.
StatusInfo
-
Тип данных: uint16
-
Тип доступа: только для чтения
Текущее состояние логического устройства. Это свойство наследуется от CIM_LogicalDevice, но не используется.
SystemCreationClassName
-
Тип данных: string
-
Тип доступа: только для чтения
Имя класса создания системы области. Это свойство наследуется от CIM_LogicalDevice и всегда имеет значение "Msvm_ComputerSystem".
SystemName
-
Тип данных: string
-
Тип доступа: только для чтения
Имя системы определения области. Это свойство наследуется от CIM_LogicalDevice и является именем Msvm_ComputerSystem, связанной с этой службой пульса.
TimeOfLastStateChange
-
Тип данных: datetime
-
Тип доступа: только для чтения
Дата или время последнего изменения состояния включенного элемента. Это свойство наследуется от CIM_EnabledLogicalElement и всегда имеет значение Null.
TotalPowerOnHours
-
Тип данных: uint64
-
Тип доступа: только для чтения
Общее количество часов питания этого устройства. Это свойство наследуется от CIM_LogicalDevice, но не используется.
TransitioningToState
-
Тип данных: uint16
-
Тип доступа: только для чтения
Указывает целевое состояние, в которое переходит экземпляр. Это свойство наследуется от CIM_EnabledLogicalElement, но не используется.
Комментарии
Доступ к классу Msvm_HeartbeatComponent может быть ограничен фильтрацией UAC. Дополнительные сведения см. в разделе Контроль учетных записей пользователей и WMI.
Примеры
Следующий пример C# получает состояние работоспособности приложения виртуальной машины. Эти служебные программы можно найти в разделе Общие служебные программы для примеров виртуализации (версия 2).
Важно!
Для правильной работы следующий код должен выполняться с правами администратора.
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");
}
}
}
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows 8 [только классические приложения] |
Минимальная версия сервера |
Windows Server 2012 [только классические приложения] |
Пространство имен |
Root\Virtualization\V2 |
MOF |
|
DLL |
|