Menangani IRP WDM Di Luar Kerangka Kerja

[Berlaku untuk KMDF saja]

Ketika manajer I/O mengirimkan paket permintaan I/O (IRP) ke driver berbasis kerangka kerja, kerangka kerja akan mencegat IRP dan kemudian melakukan salah satu hal berikut:

  • Memproses IRP. Misalnya, kerangka kerja memproses runtime integrasi yang berisi IRP_MJ_PNP dan IRP_MJ_POWER kode fungsi I/O utama. Saat memproses IRP ini, kerangka kerja mungkin berkomunikasi dengan driver dengan memanggil fungsi panggilan balik peristiwa driver.

  • Membuat objek permintaan kerangka kerja untuk IRP dan mengirimkan objek permintaan ke salah satu antrean I/O driver sehingga driver dapat menerimanya, biasanya dalam penangan permintaan, dan memprosesnya. Kerangka kerja menangani permintaan kontrol I/O baca, tulis, dan perangkat dengan cara ini.

  • Meneruskan IRP ke driver berikutnya yang lebih rendah (jika driver Anda adalah driver filter), atau menyelesaikan IRP dengan nilai status STATUS_INVALID_DEVICE_REQUEST (jika driver Anda bukan driver filter) karena IRP berisi kode fungsi I/O yang tidak didukung kerangka kerja.

Terkadang driver harus menangani kode fungsi I/O yang tidak didukung kerangka kerja.

Jarang, driver mungkin perlu melakukan praproses IRP sebelum kerangka kerja menanganinya, atau driver mungkin perlu melakukan pascaproses IRP setelah kerangka kerja dan driver tingkat bawah selesai memprosesnya.

Sebagai bagian dari pra-pemrosesan, driver mungkin perlu meneruskan IRP ke antrean I/O tertentu.

Topik berikut menjelaskan situasi ini: