IRP_MN_QUERY_RESOURCE_REQUIREMENTS

Manajer PnP menggunakan IRP ini untuk mendapatkan daftar persyaratan sumber daya perangkat.

Driver bus harus menangani permintaan ini untuk perangkat anak mereka yang memerlukan sumber daya perangkat keras. Driver filter bus dapat menangani permintaan ini. Fungsi dan driver filter tidak menangani IRP ini.

Nilai

0x0B

Kode Utama

IRP_MJ_PNP

Ketika Dikirim

Manajer PnP mengirimkan IRP ini ketika perangkat dijumlahkan, sebelum mengalokasikan sumber daya ke perangkat, dan ketika driver melaporkan bahwa persyaratan sumber daya perangkatnya telah berubah.

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

Parameter Input

Tidak ada

Parameter Output

Dikembalikan di blok status I/O.

Blok Status I/O

Driver yang menangani IRP ini mengatur Irp-IoStatus.Status> ke STATUS_SUCCESS atau status kesalahan yang sesuai.

Jika berhasil, driver mengatur Irp-IoStatus.Information> ke pointer ke IO_RESOURCE_REQUIREMENTS_LIST yang berisi informasi yang diminta. Pada kesalahan, driver mengatur Irp-IoStatus.Information> ke nol.

Operasi

Jika driver bus mengembalikan daftar persyaratan sumber daya sebagai respons terhadap IRP ini, ia mengalokasikan IO_RESOURCE_REQUIREMENTS_LIST dari memori halaman. Manajer PnP membebaskan buffer ketika tidak lagi diperlukan.

Jika perangkat tidak memerlukan sumber daya perangkat keras, driver bus perangkat menyelesaikan IRP (IoCompleteRequest) tanpa memodifikasi Irp-IoStatus.Status> atau Irp-IoStatus.Information>.

Jika driver filter bus menangani IRP ini, itu memodifikasi daftar persyaratan sumber daya yang dibuat oleh pengemudi bus. Driver filter bus memodifikasi daftar cara IRP mencadangkan tumpukan perangkat. Driver filter bus harus mempertahankan urutan sumber daya dalam daftar persyaratan sumber daya dan tidak boleh mengubah tag sumber daya yang tidak ditanganinya. Jika driver filter bus mengubah ukuran daftar persyaratan sumber daya, driver harus mengalokasikan struktur baru dari memori halaman dan membebaskan struktur sebelumnya. Jika driver filter bus menambahkan persyaratan sumber daya baru ke daftar dan sumber daya ditetapkan ke perangkat, driver harus memfilter sumber daya baru dari IRP IRP_MN_START_DEVICE sehingga tidak diteruskan ke driver bus.

Driver filter fungsi dan non-bus tidak menangani IRP ini; mereka meneruskannya ke driver bawah berikutnya tanpa perubahan pada Irp-IoStatus>.

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

IO_RESOURCE_REQUIREMENTS_LIST