Menangani Permintaan WMI
Semua driver harus mengatur titik entri tabel pengiriman untuk rutinitas DispatchSystemControl untuk menangani permintaan WMI. Jika driver mendaftar sebagai penyedia data WMI, driver harus menangani semua permintaan WMI. Jika tidak, driver harus meneruskan semua permintaan WMI ke driver yang lebih rendah berikutnya.
Semua IRP WMI memiliki kode utama IRP_MJ_SYSTEM_CONTROL dan salah satu kode minor berikut:
IRP_MN_REGINFO, IRP_MN_REGINFO_EX—Mengkueri atau memperbarui informasi pendaftaran driver setelah driver memanggil IoWMIRegistrationControl.
IRP_MN_QUERY_ALL_DATA, IRP_MN_QUERY_SINGLE_INSTANCE—Kueri untuk semua instans atau satu instans blok data tertentu.
IRP_MN_CHANGE_SINGLE_ITEM, IRP_MN_CHANGE_SINGLE_INSTANCE—Meminta driver untuk mengubah satu item atau beberapa item dalam instans blok data.
IRP_MN_ENABLE_COLLECTION, IRP_MN_DISABLE_COLLECTION—Meminta driver untuk mulai mengumpulkan data untuk blok yang didaftarkan driver mahal untuk dikumpulkan, atau berhenti mengumpulkan data untuk blok tersebut.
IRP_MN_ENABLE_EVENTS, IRP_MN_DISABLE_EVENTS—Meminta driver untuk mulai mengirim pemberitahuan peristiwa tertentu jika peristiwa terjadi saat diaktifkan, atau berhenti mengirim pemberitahuan tentang peristiwa tersebut.
IRP_MN_EXECUTE_METHOD—Meminta driver untuk menjalankan metode yang terkait dengan blok data.
Komponen mode kernel WMI mengirim IRP WMI kapan saja setelah pendaftaran driver yang berhasil sebagai penyedia data WMI, biasanya ketika konsumen data mode pengguna telah meminta informasi WMI untuk perangkat driver. Jika driver mendaftar sebagai penyedia data WMI dengan memanggil IoWMIRegistrationControl, driver harus menangani setiap permintaan WMI berikutnya dengan salah satu cara berikut:
Panggil pustaka WMI mode kernel rutin WmiSystemControl. Driver dapat memanggil WmiSystemControl untuk menangani permintaan hanya mengenai blok yang tidak menggunakan nama instans dinamis, dan nama instans statis dasar tersebut pada string nama dasar tunggal atau ID instans perangkat PDO. Untuk informasi selengkapnya, lihat Memanggil WmiSystemControl untuk Menangani RUNP WMI.
Dalam rutinitas DispatchSystemControl-nya , proses dan selesaikan permintaan tersebut yang ditandai dengan penunjuk ke objek perangkatnya yang diteruskan driver dalam panggilannya ke IoWMIRegistrationControl, dan teruskan permintaan IRP_MJ_SYSTEM_CONTROL lainnya ke driver yang lebih rendah berikutnya. Untuk informasi selengkapnya, lihat Memproses IRP WMI dalam Rutinitas DispatchSystemControl.
Untuk daftar RUNP minor WMI, lihat Runtime integrasi Minor WMI.