Condividi tramite


classe Msvm_HeartbeatComponent

Rappresenta lo stato del servizio heartbeat, responsabile del monitoraggio dello stato di una macchina virtuale segnalando un heartbeat a intervalli regolari.

La sintassi seguente è un codice MOF (Managed Object Format) semplificato e include tutte le proprietà ereditate.

Sintassi

[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;
};

Members

La classe Msvm_HeartbeatComponent ha questi tipi di membri:

Metodi

La classe Msvm_HeartbeatComponent dispone di questi metodi.

Metodo Descrizione
EnableDevice Questo metodo non è supportato.
OnlineDevice Questo metodo non è supportato.
QuiesceDevice Questo metodo non è supportato.
RequestStateChange Richiede una modifica dello stato.
Reimpostazione Reimposta il dispositivo virtuale.
RestoreProperties Questo metodo non è supportato.
SaveProperties Questo metodo non è supportato.
SetPowerState Questo metodo non è supportato.

Proprietà

La classe Msvm_HeartbeatComponent ha queste proprietà.

AdditionalAvailability

Tipo di dati: matrice uint16

Tipo di accesso: sola lettura

Qualsiasi disponibilità e stato aggiuntivo del dispositivo. Questa proprietà viene ereditata da CIM_LogicalDevice ed è sempre impostata su 6 (Non applicabile).

Disponibilità

Tipo di dati: uint16

Tipo di accesso: sola lettura

Disponibilità e stato primari del dispositivo. Questa proprietà viene ereditata da CIM_LogicalDevice, ma non viene utilizzata.

AvailableRequestedStates

Tipo di dati: matrice uint16

Tipo di accesso: sola lettura

Indica i valori possibili per il parametro RequestedState del metodo RequestStateChange utilizzato per avviare una modifica dello stato. I valori elencati saranno un subset dei valori contenuti nella proprietà RequestedStatesSupported dell'istanza associata di CIM_EnabledLogicalElementCapabilities, in cui i valori selezionati sono una funzione dello stato corrente del CIM_EnabledLogicalElement. Questa proprietà può essere non Null se un'implementazione è in grado di annunciare il set di valori possibili come funzione dello stato corrente. Questa proprietà sarà Null se un'implementazione non è in grado di determinare il set di valori possibili come funzione dello stato corrente.

Questa proprietà viene ereditata da CIM_EnabledLogicalElement.

Abilitato (2)

Disabilitato (3)

Arresto (4)

Offline (6)

Test (7)

Rinvio (8)

Quiesce (9)

Riavvio (10)

Reimpostazione (11)

DMTF Riservato (.. )

Didascalia

Tipo di dati: string

Tipo di accesso: sola lettura

Breve descrizione dell'oggetto. Questa proprietà viene ereditata dalla classe CIM_ManagedElement ed è sempre impostata su "Heartbeat".

CommunicationStatus

Tipo di dati: uint16

Tipo di accesso: sola lettura

Indica la capacità della strumentazione di comunicare con l'elemento gestito sottostante. Un valore Null indica che questa proprietà non è implementata. Questa proprietà viene ereditata da CIM_ManagedSystemElement.

CreationClassName

Tipo di dati: string

Tipo di accesso: sola lettura

Nome della classe di creazione del sistema di ambito. Questa proprietà viene ereditata da CIM_LogicalDevice e viene sempre impostata su "Msvm_HeartbeatComponent".

Descrizione

Tipo di dati: string

Tipo di accesso: sola lettura

Descrizione dell'oggetto . Questa proprietà viene ereditata da CIM_ManagedElement ed è sempre impostata su "Servizio Heartbeat Microsoft".

DetailedStatus

Tipo di dati: uint16

Tipo di accesso: sola lettura

Completa la proprietà PrimaryStatus con dettagli di stato aggiuntivi. Un valore Null indica che questa proprietà non è implementata. Questa proprietà viene ereditata da CIM_ManagedSystemElement.

Deviceid

Tipo di dati: string

Tipo di accesso: sola lettura

Indirizzo o altre informazioni di identificazione per assegnare un nome univoco al dispositivo logico. Questa proprietà viene ereditata da CIM_LogicalDevice e viene sempre impostata su "Microsoft:VMGUID GUID\" in cui VMGUID è la proprietà Name del Msvm_ComputerSystem associato al dispositivo.

ElementName

Tipo di dati: string

Tipo di accesso: sola lettura

Nome visualizzato per l'oggetto. Questa proprietà viene ereditata da CIM_ManagedElement e viene sempre impostata su "Heartbeat".

EnabledDefault

Tipo di dati: uint16

Tipo di accesso: sola lettura

Questa proprietà viene ereditata da CIM_EnabledLogicalElement e viene sempre impostata su 7 (Nessun valore predefinito).

EnabledState

Tipo di dati: uint16

Tipo di accesso: sola lettura

Stati abilitati e disabilitati di un elemento. Questa proprietà viene ereditata da CIM_EnabledLogicalElement e sarà uno dei valori seguenti.

Valore Significato
Enabled
2
L'elemento è in esecuzione.
Disabilitato
3
L'elemento viene disattivato.

ErrorCleared

Tipo di dati: booleano

Tipo di accesso: sola lettura

Indica se l'errore segnalato in LastErrorCode è ora cancellato. Questa proprietà viene ereditata da CIM_LogicalDevice ma non viene usata.

ErrorDescription

Tipo di dati: stringa

Tipo di accesso: sola lettura

Stringa che fornisce altre informazioni sull'errore registrato in LastErrorCode e informazioni su eventuali azioni correttive che possono essere eseguite. Questa proprietà viene ereditata da CIM_LogicalDevice ma non viene usata.

HealthState

Tipo di dati: uint16

Tipo di accesso: sola lettura

Integrità corrente dell'elemento. Questa proprietà viene ereditata da CIM_ManagedSystemElement e viene sempre impostata su 5 (OK).

IdentifyingDescriptions

Tipo di dati: matrice di stringhe

Tipo di accesso: sola lettura

Matrice di stringhe free-form che forniscono spiegazioni e dettagli dietro le voci nella matrice di proprietà OtherIdentifyingInfo . Questa proprietà viene ereditata da CIM_LogicalDevice, ma non viene usata.

InstallDate

Tipo di dati: datetime

Tipo di accesso: sola lettura

Data e ora in cui è stato installato il servizio di integrazione nella macchina virtuale. Questa proprietà viene ereditata da CIM_ManagedSystemElement.

InstanceID

Tipo di dati: stringa

Tipo di accesso: sola lettura

Qualificatori: Chiave

Identifica in modo univoco un'istanza di questa classe. Questa proprietà viene ereditata da CIM_ManagedElement.

LastErrorCode

Tipo di dati: uint32

Tipo di accesso: sola lettura

L'ultimo codice di errore segnalato dal dispositivo logico. Questa proprietà viene ereditata da CIM_LogicalDevice, ma non viene usata.

MaxQuiesceTime

Tipo di dati: uint64

Tipo di accesso: sola lettura

La proprietà è stata deprecata. Questa proprietà viene ereditata da CIM_LogicalDevice, ma non viene usata.

Nome

Tipo di dati: stringa

Tipo di accesso: sola lettura

Etichetta in base alla quale l'oggetto è noto. Questa proprietà viene ereditata da CIM_ManagedSystemElement.

OperatingStatus

Tipo di dati: uint16

Tipo di accesso: sola lettura

Fornisce informazioni sullo stato correnti per la condizione operativa dell'elemento e può essere usato per fornire maggiori dettagli rispetto al valore della proprietà EnabledState . Un valore Null indica che questa proprietà non è implementata. Questa proprietà viene ereditata da CIM_ManagedSystemElement.

OperationalStatus

Tipo di dati: matrice uint16

Tipo di accesso: sola lettura

Qualificatori: Override ("OperationalStatus"), ArrayType ("Indicizzato")

Stato corrente dell'elemento. Questa proprietà viene ereditata da CIM_ManagedSystemElement.

Di seguito sono riportati i valori possibili per il valore della proprietà OperationalStatus[0].

OK (2)

Il servizio è in genere operativo. I valori delle proprietà OperationalStatus[1] e StatusDescriptions[1] possono contenere altre informazioni.

Degradato (3)

Il servizio è in genere operativo, ma il servizio guest ha negoziato una versione compatibile del protocollo di comunicazione. I valori delle proprietà OperationalStatus[1] e StatusDescriptions[1] possono contenere altre informazioni.

Errore non recuperabile (7)

Il guest non supporta una versione del protocollo compatibile. I valori delle proprietà OperationalStatus[1] e StatusDescriptions[1] possono contenere altre informazioni.

Nessun contatto (12)

Il servizio guest non è stato installato o non è ancora stato contattato.

Comunicazione persa (13)

Il servizio guest non risponde più normalmente.

Sospeso (15)

La macchina virtuale viene sospesa.

Il valore della proprietà OperationalStatus[1] indica i valori dello stato dell'applicazione di unione. Questo sarà uno dei valori seguenti.

Nota

Lo stato per un'applicazione viene impostato nella macchina virtuale usando il metodo SetApplicationState .

OK (2)

Le applicazioni in esecuzione all'interno della macchina virtuale funzionano normalmente.

Mancata corrispondenza del protocollo (32775)

I componenti guest e host eseguono versioni di protocollo diverse.

Stato critico dell'applicazione (32782)

Una o più applicazioni all'interno della macchina virtuale si trovano in uno stato critico.

Timeout della comunicazione (32783)

Timeout in attesa di una risposta dal componente guest.

Comunicazione non riuscita (32784)

Impossibile comunicare con il componente guest.

OtherEnabledState

Tipo di dati: stringa

Tipo di accesso: sola lettura

Stringa che descrive lo stato abilitato o disabilitato dell'elemento quando la proprietà EnabledState è impostata su 1 (Altro). Questa proprietà deve essere impostata su Null quando la proprietà EnabledState è qualsiasi valore diverso da 1. Questa proprietà viene ereditata da CIM_EnabledLogicalElement e viene sempre impostata su Null.

OtherIdentifyingInfo

Tipo di dati: matrice di stringhe

Tipo di accesso: sola lettura

Tutti i dati aggiuntivi, oltre alle informazioni sull'ID dispositivo, che possono essere usate per identificare un dispositivo logico. Questa proprietà viene ereditata da CIM_LogicalDevice ed è sempre impostata su Null.

PowerManagementCapabilities

Tipo di dati: matrice uint16

Tipo di accesso: sola lettura

Funzionalità di risparmio energia del dispositivo. Questa proprietà viene ereditata da CIM_LogicalDevice, ma non viene usata.

PowerManagementSupported

Tipo di dati: booleano

Tipo di accesso: sola lettura

Indica se il dispositivo può essere gestito dall'alimentazione. Questa proprietà viene ereditata da CIM_LogicalDevice, ma non viene usata.

PowerOnHours

Tipo di dati: uint64

Tipo di accesso: sola lettura

Numero di ore consecutive che questo dispositivo è stato attivato dall'ultimo ciclo di alimentazione. Questa proprietà viene ereditata da CIM_LogicalDevice ma non viene usata.

PrimaryStatus

Tipo di dati: uint16

Tipo di accesso: sola lettura

Fornisce informazioni di stato di alto livello. Questa proprietà deve essere usata insieme alla proprietà DetailedStatus per fornire informazioni dettagliate sullo stato di integrità e livello elevato per l'elemento e i relativi sottocomponenti. Un valore Null indica che questa proprietà non è implementata. Questa proprietà viene ereditata da CIM_ManagedSystemElement.

RequestedState

Tipo di dati: uint16

Tipo di accesso: sola lettura

Ultimo stato richiesto o desiderato per l'elemento. Questa proprietà viene ereditata da CIM_EnabledLogicalElement e viene sempre impostata su 12 (non applicabile).

Status

Tipo di dati: stringa

Tipo di accesso: sola lettura

Stato corrente dell'oggetto. Questa proprietà viene ereditata da CIM_ManagedSystemElement ma non viene usata.

StatusDescriptions

Tipo di dati: matrice di stringhe

Tipo di accesso: sola lettura

Stringhe che descrivono i vari valori della matrice OperationalStatus . Questa proprietà viene ereditata da CIM_ManagedSystemElement.

StatusInfo

Tipo di dati: uint16

Tipo di accesso: sola lettura

Stato corrente del dispositivo logico. Questa proprietà viene ereditata da CIM_LogicalDevice, ma non viene usata.

SystemCreationClassName

Tipo di dati: stringa

Tipo di accesso: sola lettura

Nome della classe di creazione del sistema di ambito. Questa proprietà viene ereditata da CIM_LogicalDevice ed è sempre impostata su " Msvm_ComputerSystem".

Systemname

Tipo di dati: stringa

Tipo di accesso: sola lettura

Nome del sistema di ambito. Questa proprietà viene ereditata da CIM_LogicalDevice ed è il nome del Msvm_ComputerSystem associato a questo servizio heartbeat.

TimeOfLastStateChange

Tipo di dati: datetime

Tipo di accesso: sola lettura

Data o ora in cui lo stato abilitato dell'elemento è stato modificato. Questa proprietà viene ereditata da CIM_EnabledLogicalElement e viene sempre impostata su Null.

TotalPowerOnHours

Tipo di dati: uint64

Tipo di accesso: sola lettura

Numero totale di ore di alimentazione del dispositivo. Questa proprietà viene ereditata da CIM_LogicalDevice, ma non viene usata.

Transizione diToState

Tipo di dati: uint16

Tipo di accesso: sola lettura

Indica lo stato di destinazione a cui viene eseguita la transizione dell'istanza. Questa proprietà viene ereditata da CIM_EnabledLogicalElement, ma non viene usata.

Commenti

L'accesso alla classe Msvm_HeartbeatComponent potrebbe essere limitato dal filtro dell'interfaccia utente. Per altre informazioni, vedere Controllo account utente e WMI.

Esempio

L'esempio C# seguente ottiene lo stato di integrità dell'applicazione di una macchina virtuale. Le utilità a cui si fa riferimento sono disponibili nelle utilità comuni per gli esempi di virtualizzazione (V2).

Importante

Per funzionare correttamente, il codice seguente deve essere eseguito con privilegi di amministratore.

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");
        }
    }
}

Requisiti

Requisito Valore
Client minimo supportato
Windows 8 [solo app desktop]
Server minimo supportato
Windows Server 2012 [solo app desktop]
Spazio dei nomi
Root\Virtualization\V2
MOF
WindowsVirtualization.V2.mof
DLL
Vmms.exe

Vedi anche

Cim_logicaldevice

Cim_logicaldevice

Msvm_HeartbeatComponent