Bagikan melalui


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

Lihat juga

CIM_LogicalDevice

CIM_LogicalDevice

Msvm_HeartbeatComponent