Compartilhar via


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
WindowsVirtualization.V2.mof
DLL
Vmms.exe

Confira também

CIM_LogicalDevice

CIM_LogicalDevice

Msvm_HeartbeatComponent