Bagikan melalui


Fungsi WdfWmiInstanceFireEvent (wdfwmi.h)

[Hanya berlaku untuk KMDF]

Metode WdfWmiInstanceFireEvent mengirimkan peristiwa WMI ke klien WMI yang telah mendaftar untuk menerima pemberitahuan peristiwa.

Sintaks

NTSTATUS WdfWmiInstanceFireEvent(
  [in]           WDFWMIINSTANCE WmiInstance,
  [in, optional] ULONG          EventDataSize,
  [in, optional] PVOID          EventData
);

Parameter

[in] WmiInstance

Handel ke objek instans WMI yang diperoleh driver dari panggilan sebelumnya ke WdfWmiInstanceCreate.

[in, optional] EventDataSize

Ukuran, dalam byte, dari data peristiwa yang dituju eventData .

[in, optional] EventData

Penunjuk ke data peristiwa, atau NULL jika tidak ada data peristiwa.

Nilai kembali

WdfWmiInstanceFireEvent mengembalikan STATUS_SUCCESS jika operasi berhasil. Jika tidak, metode ini mungkin mengembalikan salah satu nilai berikut:

Menampilkan kode Deskripsi
STATUS_INSUFFICIENT_RESOURCES
Memori tidak cukup.
STATUS_UNSUCCESSFUL
Upaya kerangka kerja untuk berkomunikasi dengan WMI gagal.
STATUS_BUFFER_OVERFLOW
Buffer data peristiwa terlalu besar.
 

Metode ini juga dapat mengembalikan nilai NTSTATUS lainnya.

Pemeriksaan bug terjadi jika driver menyediakan handel objek yang tidak valid.

Keterangan

Driver Anda harus memanggil WdfWmiInstanceFireEvent hanya jika klien WMI telah mendaftar untuk pemberitahuan peristiwa. Driver dapat menentukan apakah harus memanggil WdfWmiInstanceFireEvent dengan menyediakan fungsi panggilan balik EvtWmiProviderFunctionControl atau memanggil WdfWmiProviderIsEnabled.

Driver harus menempatkan data khusus peristiwanya, jika ada, di buffer yang ditujukan oleh parameter EventData . Kerangka kerja menambahkan semua informasi header WMI yang diperlukan.

Untuk informasi selengkapnya tentang metode WdfWmiInstanceFireEvent , lihat Mendukung WMI di driver Framework-Based.

Contoh

Contoh kode berikut mengirimkan peristiwa WMI ke klien WMI.

MY_WMI_EVENT_DATA eventData;
NTSTATUS  status;

status = WdfWmiInstanceFireEvent(
                                 WmiInstance,
                                 sizeof(eventData),
                                 (PVOID)&eventData
                                 );

Persyaratan

Persyaratan Nilai
Target Platform Universal
Versi KMDF minimum 1,0
Header wdfwmi.h (termasuk Wdf.h)
Pustaka Wdf01000.sys (lihat Penerapan Versi Pustaka Kerangka Kerja.)
IRQL <= APC_LEVEL
Aturan kepatuhan DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

Lihat juga

EvtWmiProviderFunctionControl

WdfWmiInstanceBuat

WdfWmiProviderIsEnabled