IRP_MN_DISABLE_EVENTS

Setiap driver WMI yang mendaftarkan satu atau beberapa blok peristiwa harus menangani IRP ini. Driver dapat menangani RUNP WMI baik dengan memanggil WmiSystemControl atau dengan menangani IRP itu sendiri, seperti yang dijelaskan dalam Menangani Permintaan WMI.

Jika driver memanggil WmiSystemControl untuk menangani permintaan IRP_MN_DISABLE_EVENTS , WMI pada gilirannya memanggil rutinitas DpWmiFunctionControl driver tersebut.

Kode Utama

IRP_MJ_SYSTEM_CONTROL

Ketika Dikirim

WMI mengirimkan IRP ini untuk memberi tahu driver bahwa konsumen data telah meminta tidak ada pemberitahuan lebih lanjut tentang suatu peristiwa.

WMI mengirimkan IRP ini di IRQL = PASSIVE_LEVEL dalam konteks utas arbitrer.

Parameter Input

Parameters.WMI.ProviderId menunjuk ke objek perangkat driver yang harus merespons permintaan. Pointer ini terletak di lokasi tumpukan I/O driver di IRP.

Parameters.WMI.DataPath menunjuk ke GUID yang mengidentifikasi blok peristiwa untuk dinonaktifkan.

Parameter Output

Tidak ada.

Blok Status I/O

Jika driver menangani IRP dengan memanggil WmiSystemControl, WMI menetapkan Irp-IoStatus.Status> dan Irp-IoStatus.Information> di blok status I/O.

Jika tidak, driver mengatur Irp-IoStatus.Status> ke STATUS_SUCCESS atau ke status kesalahan yang sesuai seperti berikut ini:

STATUS_WMI_GUID_NOT_FOUND

STATUS_INVALID_DEVICE_REQUEST

Setelah berhasil, driver menetapkan Irp-IoStatus.Information> ke nol.

Operasi

Driver dapat menangani RUNP WMI baik dengan memanggil WmiSystemControl atau dengan menangani IRP itu sendiri, seperti yang dijelaskan dalam Menangani Permintaan WMI.

Jika driver menangani runtime integrasi WMI dengan memanggil WmiSystemControl, yang rutin memanggil rutinitas DpWmiFunctionControl driver, atau mengembalikan STATUS_SUCCESS jika driver tidak menentukan rutinitas.

Jika driver menangani permintaan IRP_MN_DISABLE_EVENTS itu sendiri, driver harus melakukannya hanya jika Parameters.WMI.ProviderId menunjuk ke objek perangkat yang sama dengan pointer yang diteruskan driver ke IoWMIRegistrationControl. Jika tidak, driver harus meneruskan permintaan ke driver berikutnya yang lebih rendah.

Sebelum menangani permintaan, driver harus menentukan apakah Parameters.WMI.DataPath menunjuk ke GUID yang didukung driver. Jika tidak, driver harus gagal dalam IRP dan mengembalikan STATUS_WMI_GUID_NOT_FOUND.

Jika driver mendukung blok peristiwa, driver akan menonaktifkan peristiwa untuk semua instans blok tersebut.

Tidak perlu bagi driver untuk memeriksa apakah peristiwa sudah dinonaktifkan untuk blok peristiwa karena WMI mengirim satu permintaan penonaktifan untuk blok peristiwa tersebut ketika konsumen data terakhir menonaktifkan peristiwa. WMI tidak akan mengirim permintaan penonaktifan lain tanpa permintaan intervensi untuk diaktifkan.

Untuk detail tentang mendefinisikan blok peristiwa, lihat Mendesain Data WMI dan Blok Peristiwa.

Persyaratan

Header

Wdm.h (termasuk Wdm.h, Ntddk.h, atau Ntifs.h)

Lihat juga

DpWmiFunctionControl

IoWMIRegistrationControl

IRP_MN_ENABLE_EVENTS

WMILIB_CONTEXT

WmiSystemControl