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 |
|
DLL |
|