classe Msvm_HeartbeatComponent
Representa o estado do serviço de pulsação, que é responsável por monitorar o estado de uma máquina virtual relatando uma pulsação em intervalos regulares.
A sintaxe a seguir é um código MOF (Managed Object Format) simplificado e inclui todas as propriedades herdadas.
Sintaxe
[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;
};
Membros
A classe Msvm_HeartbeatComponent tem estes tipos de membros:
Métodos
A classe Msvm_HeartbeatComponent tem esses métodos.
Método | Descrição |
---|---|
EnableDevice | Não há suporte para o método. |
OnlineDevice | Não há suporte para o método. |
QuiesceDevice | Não há suporte para o método. |
RequestStateChange | Solicita uma alteração de estado. |
Redefinir | Redefine o dispositivo virtual. |
RestoreProperties | Não há suporte para o método. |
SaveProperties | Não há suporte para o método. |
SetPowerState | Não há suporte para o método. |
Propriedades
A classe Msvm_HeartbeatComponent tem essas propriedades.
-
AdditionalAvailability
-
-
Tipo de dados: matriz uint16
-
Tipo de acesso: Somente leitura
Qualquer disponibilidade adicional e status do dispositivo. Essa propriedade é herdada de CIM_LogicalDevice e é sempre definida como 6 (Não Aplicável).
-
-
Disponibilidade
-
-
Tipo de dados: uint16
-
Tipo de acesso: Somente leitura
A disponibilidade primária e status do dispositivo. Essa propriedade é herdada de CIM_LogicalDevice, mas não é usada.
-
-
AvailableRequestedStates
-
-
Tipo de dados: matriz uint16
-
Tipo de acesso: Somente leitura
Indica os valores possíveis para o parâmetro RequestedState do método RequestStateChange usado para iniciar uma alteração de estado. Os valores listados serão um subconjunto dos valores contidos na propriedade RequestedStatesSupported da instância associada do CIM_EnabledLogicalElementCapabilities, em que os valores selecionados são uma função do estado atual do CIM_EnabledLogicalElement. Essa propriedade poderá ser não Null se uma implementação for capaz de anunciar o conjunto de valores possíveis como uma função do estado atual. Essa propriedade será Null se uma implementação não puder determinar o conjunto de valores possíveis como uma função do estado atual.
Essa propriedade é herdada de CIM_EnabledLogicalElement.
-
Habilitado (2)
-
Desabilitado (3)
-
Desligar (4)
-
Offline (6)
-
Teste (7)
-
Adiar (8)
-
Quiesce (9)
-
Reinicialização (10)
-
Redefinir (11)
-
DMTF Reservado (.. )
-
-
Legenda
-
-
Tipo de dados: cadeia de caracteres
-
Tipo de acesso: Somente leitura
Uma breve descrição do objeto. Essa propriedade é herdada da classe CIM_ManagedElement e sempre é definida como "Pulsação".
-
-
CommunicationStatus
-
-
Tipo de dados: uint16
-
Tipo de acesso: Somente leitura
Indica a capacidade da instrumentação de se comunicar com o elemento gerenciado subjacente. Um valor Null indica que essa propriedade não está implementada. Essa propriedade é herdada de CIM_ManagedSystemElement.
-
-
CreationClassName
-
-
Tipo de dados: cadeia de caracteres
-
Tipo de acesso: Somente leitura
O nome da classe de criação do sistema de escopo. Essa propriedade é herdada de CIM_LogicalDevice e é sempre definida como "Msvm_HeartbeatComponent".
-
-
Descrição
-
-
Tipo de dados: cadeia de caracteres
-
Tipo de acesso: Somente leitura
Uma descrição do objeto . Essa propriedade é herdada de CIM_ManagedElement e é sempre definida como "Serviço de Pulsação da Microsoft".
-
-
DetailedStatus
-
-
Tipo de dados: uint16
-
Tipo de acesso: Somente leitura
Complementa a propriedade PrimaryStatus com detalhes status adicionais. Um valor Null indica que essa propriedade não está implementada. Essa propriedade é herdada de CIM_ManagedSystemElement.
-
-
Deviceid
-
-
Tipo de dados: cadeia de caracteres
-
Tipo de acesso: Somente leitura
Um endereço ou outras informações de identificação para nomear exclusivamente o dispositivo lógico. Essa propriedade é herdada de CIM_LogicalDevice e sempre é definida como "Microsoft:VMGUID\GUID", em que VMGUID é a propriedade Name do Msvm_ComputerSystem associado a esse dispositivo.
-
-
ElementName
-
-
Tipo de dados: cadeia de caracteres
-
Tipo de acesso: Somente leitura
Um nome de exibição para o objeto . Essa propriedade é herdada de CIM_ManagedElement e é sempre definida como "Pulsação".
-
-
EnabledDefault
-
-
Tipo de dados: uint16
-
Tipo de acesso: Somente leitura
Essa propriedade é herdada de CIM_EnabledLogicalElement e sempre é definida como 7 (Sem Padrão).
-
-
EnabledState
-
-
Tipo de dados: uint16
-
Tipo de acesso: Somente leitura
Os estados habilitados e desabilitados de um elemento. Essa propriedade é herdada de CIM_EnabledLogicalElement e será um dos valores a seguir.
Valor Significado - Enabled
- 2
O elemento está em execução. - Desabilitado
- 3
O elemento está desativado. -
-
ErrorCleared
-
-
Tipo de dados: booliano
-
Tipo de acesso: Somente leitura
Indica se o erro relatado em LastErrorCode agora está limpo. Essa propriedade é herdada de CIM_LogicalDevice mas não é usada.
-
-
ErrorDescription
-
-
Tipo de dados: cadeia de caracteres
-
Tipo de acesso: Somente leitura
Uma cadeia de caracteres que fornece mais informações sobre o erro registrado em LastErrorCode e informações sobre as ações corretivas que podem ser executadas. Essa propriedade é herdada de CIM_LogicalDevice mas não é usada.
-
-
HealthState
-
-
Tipo de dados: uint16
-
Tipo de acesso: Somente leitura
A integridade atual do elemento. Essa propriedade é herdada de CIM_ManagedSystemElement e é sempre definida como 5 (OK).
-
-
IdentifyingDescriptions
-
-
Tipo de dados: matriz de cadeia de caracteres
-
Tipo de acesso: Somente leitura
Uma matriz de cadeias de caracteres de forma livre que fornecem explicações e detalhes por trás das entradas na matriz de propriedades OtherIdentifyingInfo . Essa propriedade é herdada de CIM_LogicalDevice, mas não é usada.
-
-
InstallDate
-
-
Tipo de dados: datetime
-
Tipo de acesso: Somente leitura
A data e a hora em que o serviço de integração foi instalado na máquina virtual. Essa propriedade é herdada de CIM_ManagedSystemElement.
-
-
InstanceID
-
-
Tipo de dados: cadeia de caracteres
-
Tipo de acesso: Somente leitura
-
Qualificadores: Chave
Identifica exclusivamente uma instância dessa classe. Essa propriedade é herdada de CIM_ManagedElement.
-
-
LastErrorCode
-
-
Tipo de dados: uint32
-
Tipo de acesso: Somente leitura
O último código de erro relatado pelo dispositivo lógico. Essa propriedade é herdada de CIM_LogicalDevice, mas não é usada.
-
-
MaxQuiesceTime
-
-
Tipo de dados: uint64
-
Tipo de acesso: Somente leitura
Essa propriedade foi substituída. Essa propriedade é herdada de CIM_LogicalDevice, mas não é usada.
-
-
Nome
-
-
Tipo de dados: cadeia de caracteres
-
Tipo de acesso: Somente leitura
O rótulo pelo qual o objeto é conhecido. Essa propriedade é herdada de CIM_ManagedSystemElement.
-
-
OperatingStatus
-
-
Tipo de dados: uint16
-
Tipo de acesso: Somente leitura
Fornece informações de status atuais para a condição operacional do elemento e pode ser usado para fornecer mais detalhes em relação ao valor da propriedade EnabledState. Um valor Null indica que essa propriedade não está implementada. Essa propriedade é herdada de CIM_ManagedSystemElement.
-
-
OperationalStatus
-
-
Tipo de dados: matriz uint16
-
Tipo de acesso: Somente leitura
-
Qualificadores: substituição ("OperationalStatus"), ArrayType ("Indexed")
O status atual do elemento. Essa propriedade é herdada de CIM_ManagedSystemElement.
Veja a seguir os valores possíveis para o valor da propriedade OperationalStatus[0].
-
-
OK (2)
-
O serviço está operando normalmente. Os valores da propriedade OperationalStatus[1] e StatusDescriptions[1] podem conter mais informações.
-
Degradado (3)
-
O serviço está operando normalmente, mas o serviço convidado negociou uma versão compatível do protocolo de comunicação. Os valores da propriedade OperationalStatus[1] e StatusDescriptions[1] podem conter mais informações.
-
Erro não recuperável (7)
-
O convidado não dá suporte a uma versão de protocolo compatível. Os valores da propriedade OperationalStatus[1] e StatusDescriptions[1] podem conter mais informações.
-
Sem Contato (12)
-
O serviço convidado não está instalado ou ainda não foi contatado.
-
Comunicação Perdida (13)
-
O serviço convidado não está mais respondendo normalmente.
-
Pausado (15)
-
A máquina virtual está em pausa.
O valor da propriedade OperationalStatus[1] indica os valores de estado do aplicativo unidos. Esse será um dos valores a seguir.
Observação
O estado de um aplicativo é definido na máquina virtual usando o método SetApplicationState .
OK (2)
Os aplicativos em execução dentro da máquina virtual estão operando normalmente.
Incompatibilidade de protocolo (32775)
Os componentes convidado e host estão executando versões de protocolo diferentes.
Estado Crítico do Aplicativo (32782)
Um ou mais aplicativos dentro da máquina virtual estão em um estado crítico.
Tempo limite de comunicação (32783)
Tempo limite aguardando uma resposta do componente convidado.
Falha na comunicação (32784)
Falha ao se comunicar com o componente convidado.
OtherEnabledState
-
Tipo de dados: cadeia de caracteres
-
Tipo de acesso: Somente leitura
Uma cadeia de caracteres que descreve o estado habilitado ou desabilitado do elemento quando a propriedade EnabledState é definida como 1 (Outros). Essa propriedade deve ser definida como Null quando a propriedade EnabledState for qualquer valor diferente de 1. Essa propriedade é herdada de CIM_EnabledLogicalElement e é sempre definida como Null.
OtherIdentifyingInfo
-
Tipo de dados: matriz de cadeia de caracteres
-
Tipo de acesso: Somente leitura
Quaisquer dados adicionais, além das informações de ID do dispositivo, que podem ser usados para identificar um dispositivo lógico. Essa propriedade é herdada de CIM_LogicalDevice e é sempre definida como Null.
PowerManagementCapabilities
-
Tipo de dados: matriz uint16
-
Tipo de acesso: Somente leitura
Os recursos de gerenciamento de energia do dispositivo. Essa propriedade é herdada de CIM_LogicalDevice, mas não é usada.
PowerManagementSupported
-
Tipo de dados: booliano
-
Tipo de acesso: Somente leitura
Indica se o dispositivo pode ser gerenciado por energia. Essa propriedade é herdada de CIM_LogicalDevice, mas não é usada.
PowerOnHours
-
Tipo de dados: uint64
-
Tipo de acesso: Somente leitura
O número de horas consecutivas em que este dispositivo foi ligado desde seu último ciclo de energia. Essa propriedade é herdada de CIM_LogicalDevice mas não é usada.
PrimaryStatus
-
Tipo de dados: uint16
-
Tipo de acesso: Somente leitura
Fornece informações de status de alto nível. Essa propriedade deve ser usada em conjunto com a propriedade DetailedStatus para fornecer informações de status de integridade detalhadas e de alto nível para o elemento e seus subcomponentes. Um valor Null indica que essa propriedade não está implementada. Essa propriedade é herdada de CIM_ManagedSystemElement.
RequestedState
-
Tipo de dados: uint16
-
Tipo de acesso: Somente leitura
O último estado solicitado ou desejado para o elemento. Essa propriedade é herdada de CIM_EnabledLogicalElement e é sempre definida como 12 (Não Aplicável).
Status
-
Tipo de dados: cadeia de caracteres
-
Tipo de acesso: Somente leitura
O status atual do objeto . Essa propriedade é herdada de CIM_ManagedSystemElement mas não é usada.
StatusDescriptions
-
Tipo de dados: matriz de cadeia de caracteres
-
Tipo de acesso: Somente leitura
Cadeias de caracteres que descrevem os vários valores de matriz OperationalStatus . Essa propriedade é herdada de CIM_ManagedSystemElement.
StatusInfo
-
Tipo de dados: uint16
-
Tipo de acesso: Somente leitura
O estado atual do dispositivo lógico. Essa propriedade é herdada de CIM_LogicalDevice, mas não é usada.
SystemCreationClassName
-
Tipo de dados: cadeia de caracteres
-
Tipo de acesso: Somente leitura
O nome da classe de criação do sistema de escopo. Essa propriedade é herdada de CIM_LogicalDevice e é sempre definida como "Msvm_ComputerSystem".
Systemname
-
Tipo de dados: cadeia de caracteres
-
Tipo de acesso: Somente leitura
O nome do sistema de escopo. Essa propriedade é herdada de CIM_LogicalDevice e é o nome do Msvm_ComputerSystem associado a esse serviço de pulsação.
TimeOfLastStateChange
-
Tipo de dados: datetime
-
Tipo de acesso: Somente leitura
A data ou hora em que o estado habilitado do elemento foi alterado pela última vez. Essa propriedade é herdada de CIM_EnabledLogicalElement e é sempre definida como Null.
TotalPowerOnHours
-
Tipo de dados: uint64
-
Tipo de acesso: Somente leitura
O número total de horas que este dispositivo foi alimentado. Essa propriedade é herdada de CIM_LogicalDevice, mas não é usada.
TransitioningToState
-
Tipo de dados: uint16
-
Tipo de acesso: Somente leitura
Indica o estado de destino para o qual a instância está em transição. Essa propriedade é herdada de CIM_EnabledLogicalElement, mas não é usada.
Comentários
O acesso à classe Msvm_HeartbeatComponent pode ser restrito pela Filtragem UAC. Para obter mais informações, consulte Controle de conta de usuário e WMI.
Exemplos
O exemplo de C# a seguir obtém o status de integridade do aplicativo de uma máquina virtual. Os utilitários referenciados podem ser encontrados em Utilitários comuns para os exemplos de virtualização (V2).
Importante
Para funcionar corretamente, o código a seguir deve ser executado com privilégios 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 | Valor |
---|---|
Cliente mínimo com suporte |
Windows 8 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte |
Windows Server 2012 [somente aplicativos da área de trabalho] |
Namespace |
Root\Virtualization\V2 |
MOF |
|
DLL |
|