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 |
---|---|
|
Memori tidak cukup. |
|
Upaya kerangka kerja untuk berkomunikasi dengan WMI gagal. |
|
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) |