IRP_MN_QUERY_PNP_DEVICE_STATE

Driver fungsi, filter, dan bus dapat menangani permintaan ini.

Nilai47

0x14

Kode Utama

IRP_MJ_PNP

Ketika Dikirim

Manajer PnP mengirimkan IRP ini setelah driver untuk keberhasilan pengembalian perangkat dari permintaan IRP_MN_START_DEVICE dikirim saat perangkat pertama kali dimulai. IRP ini tidak dikirim pada awal setelah berhenti untuk penyeimbangan ulang sumber daya. Manajer PnP juga mengirim IRP ini ketika driver untuk perangkat memanggil IoInvalidateDeviceState.

Manajer PnP mengirimkan IRP ini di IRQL PASSIVE_LEVEL dalam konteks utas arbitrer.

Parameter Input

Tidak ada

Parameter Output

Dikembalikan dalam blok status I/O.

Blok Status I/O

Driver mengatur Irp-IoStatus.Status> ke STATUS_SUCCESS atau ke status kesalahan yang sesuai seperti STATUS_UNSUCCESSFUL.

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

Jika fungsi atau driver filter tidak menangani IRP ini, fungsi memanggil IoSkipCurrentIrpStackLocation, tidak mengatur rutinitas IoCompletion , dan meneruskan IRP ke driver berikutnya. Driver seperti itu tidak boleh memodifikasi Irp-IoStatus> dan tidak boleh menyelesaikan IRP.

Jika driver bus tidak menangani IRP ini, itu meninggalkan Irp-IoStatus.Status> apa adanya dan menyelesaikan IRP.

Operasi

IRP ini ditangani terlebih dahulu oleh driver di bagian atas tumpukan perangkat dan kemudian oleh setiap driver yang lebih rendah berikutnya di tumpukan.

Driver menangani IRP ini jika memiliki informasi tentang status PnP perangkat. Driver dapat mengatur atau menghapus bendera di bitmask PNP_DEVICE_STATE. Jika driver lain telah mengatur PNP_DEVICE_STATE di Irp-IoStatus.Information, driver harus berhati-hati> untuk memodifikasi bendera di bitmask tersebut daripada menimpa seluruh struktur.

Lihat Plug and Play aturan umum untuk menangani Plug and Play runtime integrasi kecil.

Mengirim IRP ini

Dicadangkan untuk penggunaan sistem. Driver tidak boleh mengirim IRP ini.

Persyaratan

Header

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

Lihat juga

IoInvalidateDeviceState

PNP_DEVICE_STATE