Fungsi WdfDeviceConfigureWdmIrpDispatchCallback (wdfdevice.h)
[Berlaku untuk KMDF dan UMDF]
Metode WdfDeviceConfigureWdmIrpDispatchCallback mendaftarkan fungsi panggilan balik EvtDeviceWdmIrpDispatch driver.
Sintaks
NTSTATUS WdfDeviceConfigureWdmIrpDispatchCallback(
[in] WDFDEVICE Device,
[in, optional] WDFDRIVER Driver,
[in] UCHAR MajorFunction,
PFN_WDFDEVICE_WDM_IRP_DISPATCH EvtDeviceWdmIrpDispatch,
[in, optional] WDFCONTEXT DriverContext
);
Parameter
[in] Device
Handel ke objek perangkat kerangka kerja.
[in, optional] Driver
Handel ke objek driver kerangka kerja driver yang diperoleh driver dari panggilan sebelumnya ke WdfDriverCreate atau WdfGetDriver. Parameter ini bersifat opsional.
[in] MajorFunction
Salah satu kode fungsi utama IRP berikut: IRP_MJ_DEVICE_CONTROL, IRP_MJ_INTERNAL_DEVICE_CONTROL, IRP_MJ_READ, IRP_MJ_WRITE.
EvtDeviceWdmIrpDispatch
Penunjuk ke fungsi panggilan balik EvtDeviceWdmIrpDispatch driver.
[in, optional] DriverContext
Penunjuk yang tidak ditik ke informasi konteks yang ditentukan driver yang diteruskan kerangka kerja ke fungsi panggilan balik EvtDeviceWdmIrpDispatch driver. Parameter ini bersifat opsional dan dapat berupa NULL.
Mengembalikan nilai
Jika metode WdfDeviceConfigureWdmIrpDispatchCallback tidak mengalami kesalahan, metode tersebut mengembalikan STATUS_SUCCESS. Nilai pengembalian tambahan meliputi:
Menampilkan kode | Deskripsi |
---|---|
|
Nilai MajorFunction tidak valid disediakan. |
|
Memori tidak cukup tersedia. |
Keterangan
Driver memanggil metode WdfDeviceConfigureWdmIrpDispatchCallback untuk mendaftarkan fungsi panggilan balik EvtDeviceWdmIrpDispatch . Kerangka kerja kemudian memanggil EvtDeviceWdmIrpDispatch setiap kali menerima paket permintaan I/O (IRP) yang berisi kode fungsi utama IRP yang cocok dengan parameter MajorFunction dari metode ini.
Driver biasanya memanggil WdfDeviceConfigureWdmIrpDispatchCallback dari fungsi panggilan balik EvtDriverDeviceAdd .
Anda harus memanggil WdfDeviceConfigureWdmIrpDispatchCallback sekali untuk setiap fungsi MJ yang drivernya ingin mendaftarkan fungsi panggilan balik. Dengan kata lain, beberapa panggilan diperlukan untuk mencegat beberapa fungsi MJ.
Driver mungkin memanggil metode WdfDeviceConfigureWdmIrpDispatchCallback karena alasan berikut:
- Untuk memeriksa IRP dan menetapkannya ke antrean tertentu berdasarkan kriteria khusus domain, misalnya, mengarahkan semua I/O yang terkait dengan objek file ke antrean tertentu.
- Untuk memilih berdasarkan permintaan individual, perlu memanggil fungsi panggilan balik EvtIoInCallerContext .
Untuk informasi selengkapnya tentang menentukan antrean runtime integrasi saat runtime integrasi tiba, lihat Mengirimkan IRP ke Antrean I/O.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Versi KMDF minimum | 1.11 |
Versi UMDF minimum | 2.17 |
Header | wdfdevice.h (termasuk Wdf.h) |
Pustaka | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | <= DISPATCH_LEVEL |
Aturan kepatuhan DDI | DriverCreate(kmdf) |