Bagikan melalui


Menangani IRP yang Tidak Didukung Kerangka Kerja

[Hanya berlaku untuk KMDF]

Kerangka kerja tidak mendukung permintaan I/O yang memiliki kode IRP utama berikut:

Jika kerangka kerja menerima IRP yang berisi salah satu kode fungsi I/O ini, kerangka kerja tidak memproses IRP. Jika driver Anda adalah driver filter, kerangka kerja meneruskan IRP ke driver berikutnya yang lebih rendah di tumpukan driver. Jika driver Anda bukan driver filter, kerangka kerja memanggil IoCompleteRequest untuk menyelesaikan IRP dengan nilai status STATUS_INVALID_DEVICE_REQUEST.

Jika driver Anda harus menangani IRP yang berisi salah satu kode fungsi I/O ini, driver harus memanggil fungsi panggilan balik peristiwa WdfDeviceInitAssignWdmIrpPreprocessCallback untuk mendaftarkan fungsi callback peristiwa EvtDeviceWdmIrpPreprocess untuk kode fungsi I/O.

Ketika driver menerima IRP yang berisi kode fungsi I/O bahwa driver telah mendaftarkan fungsi panggilan balik EvtDeviceWdmIrpPreprocess untuk, kerangka kerja meneruskan IRP ke fungsi panggilan balik. Fungsi panggilan balik kemudian harus memproses IRP dengan mengikuti aturan WDM untuk menangani RUNPS. Driver harus memanggil IoCompleteRequest untuk menyelesaikan IRP, atau harus memanggil IoCallDriver untuk meneruskan IRP ke driver yang lebih rendah berikutnya.

Untuk contoh fungsi panggilan balik EvtDeviceWdmIrpPreprocess yang menangani IRP yang tidak didukung kerangka kerja, lihat driver sampel Serial .