kelas Msvm_HeartbeatComponent
Mewakili status layanan heartbeat, yang bertanggung jawab untuk memantau status komputer virtual dengan melaporkan heartbeat secara berkala.
Sintaks berikut adalah kode Managed Object Format (MOF) yang disederhanakan, dan mencakup semua properti yang diwariskan.
Sintaks
[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;
};
Anggota
Kelas Msvm_HeartbeatComponent memiliki jenis anggota ini:
Metode
Kelas Msvm_HeartbeatComponent memiliki metode ini.
Metode | Deskripsi |
---|---|
EnableDevice | Metode ini tidak didukung. |
OnlineDevice | Metode ini tidak didukung. |
QuiesceDevice | Metode ini tidak didukung. |
RequestStateChange | Meminta perubahan status. |
Mengatur ulang | Mereset perangkat virtual. |
RestoreProperties | Metode ini tidak didukung. |
SaveProperties | Metode ini tidak didukung. |
SetPowerState | Metode ini tidak didukung. |
Properti
Kelas Msvm_HeartbeatComponent memiliki properti ini.
-
AdditionalAvailability
-
-
Jenis data: array uint16
-
Jenis akses: Baca-saja
Ketersediaan dan status perangkat tambahan apa pun. Properti ini diwarisi dari CIM_LogicalDevice, dan selalu diatur ke 6 (Tidak Berlaku).
-
-
Ketersediaan
-
-
Jenis data: uint16
-
Jenis akses: Baca-saja
Ketersediaan dan status utama perangkat. Properti ini diwarisi dari CIM_LogicalDevice, tetapi tidak digunakan.
-
-
AvailableRequestedStates
-
-
Jenis data: array uint16
-
Jenis akses: Baca-saja
Menunjukkan kemungkinan nilai untuk parameter RequestedState dari metode RequestStateChange yang digunakan untuk memulai perubahan status. Nilai yang tercantum akan menjadi subset dari nilai yang terkandung dalam properti RequestedStatesSupported dari instans CIM_EnabledLogicalElementCapabilities terkait, di mana nilai yang dipilih adalah fungsi dari status CIM_EnabledLogicalElement saat ini. Properti ini bisa non-Null jika implementasi dapat mengiklankan serangkaian nilai yang mungkin sebagai fungsi dari status saat ini. Properti ini akan null jika implementasi tidak dapat menentukan kumpulan nilai yang mungkin sebagai fungsi dari status saat ini.
Properti ini diwarisi dari CIM_EnabledLogicalElement.
-
Diaktifkan (2)
-
Dinonaktifkan (3)
-
Matikan (4)
-
Offline (6)
-
Uji (7)
-
Tangguhkan (8)
-
Quiesce (9)
-
Reboot (10)
-
Reset (11)
-
DMTF Dicadangkan (.. )
-
-
Keterangan
-
-
Jenis data: string
-
Jenis akses: Baca-saja
Deskripsi singkat objek. Properti ini diwariskan dari kelas CIM_ManagedElement dan selalu diatur ke "Heartbeat".
-
-
CommunicationStatus
-
-
Jenis data: uint16
-
Jenis akses: Baca-saja
Menunjukkan kemampuan instrumentasi untuk berkomunikasi dengan elemen terkelola yang mendasar. Nilai Null menunjukkan bahwa properti ini tidak diimplementasikan. Properti ini diwarisi dari CIM_ManagedSystemElement.
-
-
CreationClassName
-
-
Jenis data: string
-
Jenis akses: Baca-saja
Nama kelas pembuatan sistem cakupan. Properti ini diwariskan dari CIM_LogicalDevice, dan selalu diatur ke "Msvm_HeartbeatComponent".
-
-
Deskripsi
-
-
Jenis data: string
-
Jenis akses: Baca-saja
Deskripsi objek . Properti ini diwarisi dari CIM_ManagedElement, dan selalu diatur ke "Microsoft Heartbeat Service".
-
-
DetailedStatus
-
-
Jenis data: uint16
-
Jenis akses: Baca-saja
Melengkapi properti PrimaryStatus dengan detail status tambahan. Nilai Null menunjukkan bahwa properti ini tidak diimplementasikan. Properti ini diwarisi dari CIM_ManagedSystemElement.
-
-
DeviceID
-
-
Jenis data: string
-
Jenis akses: Baca-saja
Alamat atau informasi identifikasi lainnya untuk memberi nama perangkat logis secara unik. Properti ini diwarisi dari CIM_LogicalDevice, dan selalu diatur ke "Microsoft:VMGUID\GUID" di mana VMGUID adalah properti Namadari Msvm_ComputerSystem yang terkait dengan perangkat ini.
-
-
ElementName
-
-
Jenis data: string
-
Jenis akses: Baca-saja
Nama tampilan untuk objek. Properti ini diwariskan dari CIM_ManagedElement, dan selalu diatur ke "Heartbeat".
-
-
EnabledDefault
-
-
Jenis data: uint16
-
Jenis akses: Baca-saja
Properti ini diwarisi dari CIM_EnabledLogicalElement, dan selalu diatur ke 7 (Tidak Ada Default).
-
-
EnabledState
-
-
Jenis data: uint16
-
Jenis akses: Baca-saja
Status elemen yang diaktifkan dan dinonaktifkan. Properti ini diwarisi dari CIM_EnabledLogicalElement dan akan menjadi salah satu nilai berikut.
Nilai Makna - Aktif
- 2
Elemen sedang berjalan. - Nonaktif
- 3
Elemen dimatikan. -
-
ErrorCleared
-
-
Jenis data: boolean
-
Jenis akses: Baca-saja
Menunjukkan apakah kesalahan yang dilaporkan di LastErrorCode sekarang dihapus. Properti ini diwarisi dari CIM_LogicalDevice tetapi tidak digunakan.
-
-
ErrorDescription
-
-
Jenis data: string
-
Jenis akses: Baca-saja
String yang menyediakan informasi selengkapnya tentang kesalahan yang direkam di LastErrorCode dan informasi tentang tindakan korektif apa pun yang dapat diambil. Properti ini diwarisi dari CIM_LogicalDevice tetapi tidak digunakan.
-
-
HealthState
-
-
Jenis data: uint16
-
Jenis akses: Baca-saja
Kesehatan elemen saat ini. Properti ini diwarisi dari CIM_ManagedSystemElement, dan selalu diatur ke 5 (OK).
-
-
MengidentifikasiDeskripsi
-
-
Jenis data: array string
-
Jenis akses: Baca-saja
Array string bentuk bebas yang memberikan penjelasan dan detail di balik entri dalam array properti OtherIdentifyingInfo . Properti ini diwarisi dari CIM_LogicalDevice, tetapi tidak digunakan.
-
-
InstallDate
-
-
Jenis data: tanggalwaktu
-
Jenis akses: Baca-saja
Tanggal dan waktu layanan integrasi diinstal ke komputer virtual. Properti ini diwarisi dari CIM_ManagedSystemElement.
-
-
InstanceID
-
-
Jenis data: string
-
Jenis akses: Baca-saja
-
Kualifikasi: Kunci
Secara unik mengidentifikasi instans kelas ini. Properti ini diwarisi dari CIM_ManagedElement.
-
-
LastErrorCode
-
-
Jenis data: uint32
-
Jenis akses: Baca-saja
Kode kesalahan terakhir yang dilaporkan oleh perangkat logis. Properti ini diwarisi dari CIM_LogicalDevice, tetapi tidak digunakan.
-
-
MaxQuiesceTime
-
-
Jenis data: uint64
-
Jenis akses: Baca-saja
Properti ini sudah tidak digunakan lagi. Properti ini diwarisi dari CIM_LogicalDevice, tetapi tidak digunakan.
-
-
Nama
-
-
Jenis data: string
-
Jenis akses: Baca-saja
Label tempat objek diketahui. Properti ini diwarisi dari CIM_ManagedSystemElement.
-
-
OperatingStatus
-
-
Jenis data: uint16
-
Jenis akses: Baca-saja
Menyediakan informasi status saat ini untuk kondisi operasional elemen dan dapat digunakan untuk memberikan detail lebih lanjut sehubungan dengan nilai properti EnabledState . Nilai Null menunjukkan bahwa properti ini tidak diimplementasikan. Properti ini diwarisi dari CIM_ManagedSystemElement.
-
-
OperationalStatus
-
-
Jenis data: array uint16
-
Jenis akses: Baca-saja
-
Kualifikasi: Mengambil alih ("OperationalStatus"), ArrayType ("Terindeks")
Status elemen saat ini. Properti ini diwarisi dari CIM_ManagedSystemElement.
Berikut ini adalah nilai yang mungkin untuk nilai properti OperationalStatus[0].
-
-
Ok (2)
-
Layanan ini beroperasi secara normal. Nilai properti OperationalStatus[1] dan StatusDescriptions[1] mungkin berisi informasi lebih lanjut.
-
Terdegradasi (3)
-
Layanan ini beroperasi secara normal, tetapi layanan tamu menegosiasikan versi protokol komunikasi yang kompatibel. Nilai properti OperationalStatus[1] dan StatusDescriptions[1] mungkin berisi informasi lebih lanjut.
-
Kesalahan Tidak Dapat Dipulihkan (7)
-
Tamu tidak mendukung versi protokol yang kompatibel. Nilai properti OperationalStatus[1] dan StatusDescriptions[1] mungkin berisi informasi lebih lanjut.
-
Tidak Ada Kontak (12)
-
Layanan tamu belum diinstal atau belum dihubungi.
-
Komunikasi Hilang (13)
-
Layanan tamu tidak lagi merespons secara normal.
-
Dijeda (15)
-
Komputer virtual dijeda.
Nilai properti OperationalStatus[1] menunjukkan nilai status aplikasi yang digabungkan. Ini akan menjadi salah satu nilai berikut.
Catatan
Status untuk aplikasi diatur pada komputer virtual dengan menggunakan metode SetApplicationState .
Ok (2)
Aplikasi yang berjalan di dalam komputer virtual beroperasi secara normal.
Ketidakcocokan Protokol (32775)
Komponen tamu dan host menjalankan versi protokol yang berbeda.
Status Kritis Aplikasi (32782)
Satu atau beberapa aplikasi di dalam komputer virtual dalam keadaan kritis.
Waktu Komunikasi Habis (32783)
Waktu habis menunggu respons dari komponen tamu.
Komunikasi Gagal (32784)
Gagal berkomunikasi dengan komponen tamu.
OtherEnabledState
-
Jenis data: string
-
Jenis akses: Baca-saja
String yang menjelaskan status elemen yang diaktifkan atau dinonaktifkan saat properti EnabledState diatur ke 1 (Lainnya). Properti ini harus diatur ke Null ketika properti EnabledState adalah nilai apa pun selain 1. Properti ini diwarisi dari CIM_EnabledLogicalElement, dan selalu diatur ke Null.
OtherIdentifyingInfo
-
Jenis data: array string
-
Jenis akses: Baca-saja
Data tambahan apa pun, di luar informasi ID perangkat, yang dapat digunakan untuk mengidentifikasi perangkat logis. Properti ini diwarisi dari CIM_LogicalDevice dan selalu diatur ke Null.
PowerManagementCapabilities
-
Jenis data: array uint16
-
Jenis akses: Baca-saja
Kemampuan manajemen daya perangkat. Properti ini diwarisi dari CIM_LogicalDevice, tetapi tidak digunakan.
PowerManagementSupported
-
Jenis data: boolean
-
Jenis akses: Baca-saja
Menunjukkan apakah perangkat dapat dikelola daya. Properti ini diwarisi dari CIM_LogicalDevice, tetapi tidak digunakan.
PowerOnHours
-
Jenis data: uint64
-
Jenis akses: Baca-saja
Jumlah jam berturut-turut perangkat ini telah dinyalakan sejak siklus daya terakhirnya. Properti ini diwarisi dari CIM_LogicalDevice tetapi tidak digunakan.
PrimaryStatus
-
Jenis data: uint16
-
Jenis akses: Baca-saja
Menyediakan informasi status tingkat tinggi. Properti ini harus digunakan bersama dengan properti DetailedStatus untuk memberikan informasi status kesehatan tingkat tinggi dan terperinci untuk elemen dan subkomponennya. Nilai Null menunjukkan bahwa properti ini tidak diimplementasikan. Properti ini diwarisi dari CIM_ManagedSystemElement.
RequestedState
-
Jenis data: uint16
-
Jenis akses: Baca-saja
Status terakhir yang diminta atau diinginkan untuk elemen . Properti ini diwarisi dari CIM_EnabledLogicalElement, dan selalu diatur ke 12 (Tidak Berlaku).
Status
-
Jenis data: string
-
Jenis akses: Baca-saja
Status objek saat ini. Properti ini diwarisi dari CIM_ManagedSystemElement tetapi tidak digunakan.
StatusDescriptions
-
Jenis data: array string
-
Jenis akses: Baca-saja
String yang menjelaskan berbagai nilai array OperationalStatus . Properti ini diwarisi dari CIM_ManagedSystemElement.
StatusInfo
-
Jenis data: uint16
-
Jenis akses: Baca-saja
Status perangkat logis saat ini. Properti ini diwarisi dari CIM_LogicalDevice, tetapi tidak digunakan.
SystemCreationClassName
-
Jenis data: string
-
Jenis akses: Baca-saja
Nama kelas pembuatan sistem cakupan. Properti ini diwarisi dari CIM_LogicalDevice, dan selalu diatur ke "Msvm_ComputerSystem".
SystemName
-
Jenis data: string
-
Jenis akses: Baca-saja
Nama sistem cakupan. Properti ini diwarisi dari CIM_LogicalDevice dan merupakan nama Msvm_ComputerSystem yang terkait dengan layanan heartbeat ini.
TimeOfLastStateChange
-
Jenis data: tanggalwaktu
-
Jenis akses: Baca-saja
Tanggal atau waktu saat status elemen yang diaktifkan terakhir berubah. Properti ini diwarisi dari CIM_EnabledLogicalElement, dan selalu diatur ke Null.
TotalPowerOnHours
-
Jenis data: uint64
-
Jenis akses: Baca-saja
Jumlah total jam perangkat ini telah diberdayakan. Properti ini diwarisi dari CIM_LogicalDevice, tetapi tidak digunakan.
TransisiToState
-
Jenis data: uint16
-
Jenis akses: Baca-saja
Menunjukkan status target tempat instans bertransisi. Properti ini diwariskan dari CIM_EnabledLogicalElement, tetapi tidak digunakan.
Keterangan
Akses ke kelas Msvm_HeartbeatComponent mungkin dibatasi oleh Pemfilteran UAC. Untuk informasi selengkapnya, lihat Kontrol Akun Pengguna dan WMI.
Contoh
Sampel C# berikut mendapatkan status kesehatan aplikasi dari komputer virtual. Utilitas yang dirujuk dapat ditemukan di Utilitas umum untuk sampel virtualisasi (V2).
Penting
Agar berfungsi dengan benar, kode berikut harus dijalankan dengan hak istimewa Administrator.
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");
}
}
}
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung |
Windows 8 [khusus aplikasi desktop] |
Server minimum yang didukung |
Windows Server 2012 [hanya aplikasi desktop] |
Ruang nama |
Root\Virtualization\V2 |
MOF |
|
DLL |
|