IRP_MN_QUERY_DEVICE_TEXT

Manajer PnP menggunakan IRP ini untuk mendapatkan deskripsi perangkat atau informasi lokasi.

Pengemudi bus harus menangani permintaan ini untuk perangkat anak mereka jika bus mendukung informasi ini. Fungsi dan driver filter tidak menangani IRP ini.

Nilai

0x0C

Kode Utama

IRP_MJ_PNP

Ketika Dikirim

Manajer PnP mengirimkan dua IRP ini saat perangkat dijumlahkan: satu untuk mengkueri deskripsi perangkat dan satu untuk mengkueri informasi lokasi.

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

Parameter Input

Anggota Parameters.QueryDeviceText.DeviceTextType dari struktur IO_STACK_LOCATION adalah nilai DEVICE_TEXT_TYPE yang menentukan string mana yang diminta. Nilai yang mungkin untuk DEVICE_TEXT_TYPE termasuk DeviceTextDescription dan DeviceTextLocationInformation.

Parameters.QueryDeviceText.LocaleId adalah LCID yang menentukan lokal untuk teks yang diminta.

Parameter Output

Dikembalikan di blok status I/O.

Blok Status I/O

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

Setelah berhasil, pengemudi bus mengatur Irp-IoStatus.Information> ke pointer ke blok memori yang dialokasikan pengemudi yang berisi buffer WCHAR dengan informasi yang diminta. Pada kesalahan, driver bus mengatur Irp-IoStatus.Information> ke nol.

Operasi

Pengemudi bus sangat dianjurkan untuk mengembalikan deskripsi perangkat untuk perangkat anak mereka. String ini ditampilkan di jendela pop-up Perangkat Keras Baru yang Ditemukan jika tidak ada kecocokan INF yang ditemukan untuk perangkat.

Pengemudi bus juga didorong untuk mengembalikan LocationInformation untuk perangkat anak mereka, tetapi informasi ini bersifat opsional. Format string ini tergantung pada bus. Manajer Perangkat menampilkan string ini di tab properti umum untuk perangkat. Vendor harus memilih string yang menyampaikan informasi berguna kepada pengguna dan personel dukungan. Misalnya, untuk PCI, string berisi bus, perangkat, dan fungsi. Untuk Kartu PC, string berisi slot .

Jika driver bus mengembalikan informasi sebagai respons terhadap IRP ini, ia mengalokasikan string Unicode yang dihentikan NULL dari memori halaman. Manajer PnP membebaskan string ketika tidak lagi diperlukan.

Jika perangkat tidak memberikan informasi deskripsi atau lokasi, driver bus induk perangkat menyelesaikan IRP (IoCompleteRequest) tanpa memodifikasi Irp-IoStatus.Status> atau Irp-IoStatus.Information>.

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

Driver untuk bus yang mendukung string teks yang berbeda untuk lokal yang berbeda harus dapat menangani permintaan bahasa yang tidak didukung secara eksplisit oleh perangkat. Dalam situasi seperti itu, pengemudi bus harus mengembalikan kecocokan terdekat untuk lokal atau harus mundur dan mengembalikan beberapa string lokal yang didukung yang sesuai.

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)