Fungsi IoWMIRegistrationControl (wdm.h)
Rutinitas IoWMIRegistrationControl mendaftar atau membatalkan pendaftaran pemanggil sebagai penyedia data WMI untuk objek perangkat tertentu.
Sintaks
NTSTATUS IoWMIRegistrationControl(
[in] PDEVICE_OBJECT DeviceObject,
[in] ULONG Action
);
Parameter
[in] DeviceObject
Penunjuk ke objek perangkat. Objek ini adalah struktur sistem DEVICE_OBJECT .
[in] Action
Tindakan yang harus dilakukan WMI. Tindakan yang diminta ditunjukkan oleh salah satu nilai berikut.
Nilai tindakan | Makna |
---|---|
WMIREG_ACTION_REGISTER | Menentukan bahwa WMI harus mendaftarkan pemanggil sebagai penyedia WMI untuk DeviceObject. Ini akan mengakibatkan WMI mengirim permintaan IRP_MN_REGINFO atau IRP_MN_REGINFO_EX ke driver. |
WMIREG_ACTION_DEREGISTER | Menentukan bahwa WMI harus menghapus pemanggil dari daftar penyedia WMI untuk DeviceObject. |
WMIREG_ACTION_REREGISTER | Menentukan bahwa WMI harus membatalkan pendaftaran driver lalu mendaftarkan (mendaftarkan ulang) driver. Mendaftarkan ulang driver menghasilkan WMI mengirim permintaan IRP_MN_REGINFO atau IRP_MN_REGINFO_EX ke driver. |
WMIREG_ACTION_UPDATE_GUIDS | Menentukan bahwa WMI harus mengkueri ulang driver untuk daftar pengidentifikasi GUID baru yang menyediakan data untuknya. Ini akan mengakibatkan WMI mengirim permintaan IRP_MN_REGINFO atau IRP_MN_REGINFO_EX ke driver. |
Nilai kembali
IoWMIRegistrationControl mengembalikan kode status dari daftar berikut:
Menampilkan kode | Deskripsi |
---|---|
|
Menunjukkan bahwa WMI menyelesaikan tindakan yang diminta tanpa kesalahan. |
|
Menunjukkan bahwa tindakan, yang ditentukan dalam Tindakan, tidak valid. |
|
Menunjukkan bahwa permintaan gagal karena alasan yang ditentukan oleh nilai NTSTATUS. Lihat Ntstatus.h untuk informasi terperinci untuk kode pengembalian status aktual. |
Keterangan
Setelah driver memanggil IoWMIRegistrationControl, WMI mengirimkan permintaan IRP_MN_REGINFO atau IRP_MN_REGINFO_EX kepada driver sehingga driver dapat memberikan informasi kepada WMI. Untuk informasi selengkapnya, lihat Mendaftar sebagai Penyedia Data WMI.
Jika penelepon menentukan WMIREG_ACTION_DEREGISTER untuk Tindakan, IoWMIRegistrationControl menyebabkan utas panggilan diblokir hingga semua permintaan IRP_MJ_SYSTEM_CONTROL yang sebelumnya dikirim ke objek perangkat yang ditentukan telah selesai. Dalam kasus seperti itu, jika driver memanggil IoWMIRegistrationControl dalam rutinitas pengiriman untuk permintaan IRP_MJ_SYSTEM_CONTROL , utas panggilan akan mengalami kebuntuan.
Jika perangkat dihapus tiba-tiba (misalnya, dalam penghapusan mendadak), menyebabkan manajer PnP mengirim IRP IRP_MN_SURPRISE_REMOVAL , driver harus memanggil IoWMIRegistrationControl dan menentukan WMIREG_ACTION_DEREGISTER dalam Tindakan dalam panggilan. Perhatikan bahwa jika driver memanggil IoWMIRegistrationControl dengan Action diatur ke WMIREG_ACTION_DEREGISTER sebagai respons terhadap IRP IRP_MN_SURPRISE_REMOVAL , driver tidak boleh melakukan panggilan yang sama ke IoWMIRegistrationControl sebagai respons terhadap IRP IRP_MN_REMOVE_DEVICE .
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia dimulai dengan Windows 2000. |
Target Platform | Universal |
Header | wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h) |
Pustaka | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
Aturan kepatuhan DDI | HwStorPortProhibitedDDIs(storport), IrqlIoPassive5(wdm), LowerDriverReturn(wdm), PowerIrpDDis(wdm) |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk