Fungsi WdfDeviceConfigureRequestDispatching (wdfdevice.h)
[Berlaku untuk KMDF dan UMDF]
Metode WdfDeviceConfigureRequestDispatching menyebabkan kerangka kerja mengantrekan jenis permintaan I/O tertentu ke antrean I/O tertentu.
Sintaks
NTSTATUS WdfDeviceConfigureRequestDispatching(
[in] WDFDEVICE Device,
[in] WDFQUEUE Queue,
[in] WDF_REQUEST_TYPE RequestType
);
Parameter
[in] Device
Menyediakan handel ke objek perangkat kerangka kerja.
[in] Queue
Menyediakan handel ke objek antrean kerangka kerja.
[in] RequestType
Memasok enumerator jenis WDF_REQUEST_TYPE yang mengidentifikasi jenis permintaan yang akan diantrekan. Satu-satunya enumerator yang valid adalah:
WdfRequestTypeCreate
WdfRequestTypeRead
WdfRequestTypeWrite
WdfRequestTypeDeviceControl
WdfRequestTypeDeviceControlInternal
Nilai kembali
Jika operasi berhasil, metode mengembalikan STATUS_SUCCESS. Nilai pengembalian tambahan meliputi:
Menampilkan kode | Deskripsi |
---|---|
|
Parameter input tidak valid. |
|
Jumlah memori yang tersedia terlalu rendah. |
|
Driver telah menetapkan antrean ke jenis permintaan yang ditentukan. |
Metode ini mungkin mengembalikan nilai NTSTATUS lainnya.
Pemeriksaan bug terjadi jika driver menyediakan handel objek yang tidak valid.
Keterangan
Setiap panggilan ke WdfDeviceConfigureRequestDispatching menentukan satu jenis permintaan. Jika Anda ingin satu antrean I/O menerima beberapa jenis permintaan (misalnya, permintaan baca dan tulis), driver Anda dapat memanggil WdfDeviceConfigureRequestDispatching beberapa kali untuk satu antrean I/O.
Untuk informasi selengkapnya tentang WdfDeviceConfigureRequestDispatching, lihat Membuat Antrean I/O dan Mengelola Antrean I/O.
Contoh
Contoh kode berikut menginisialisasi struktur WDF_IO_QUEUE_CONFIG , membuat antrean I/O, lalu mengonfigurasi antrean sehingga menerima permintaan tulis.
WDF_IO_QUEUE_CONFIG queueConfig;
WDFQUEUE WriteQueue;
WDF_IO_QUEUE_CONFIG_INIT(
&queueConfig,
WdfIoQueueDispatchSequential
);
queueConfig.EvtIoWrite = MyEvtIoWrite;
status = WdfIoQueueCreate(
Device,
&queueConfig,
WDF_NO_OBJECT_ATTRIBUTES,
&WriteQueue
);
if(!NT_SUCCESS(status)) {
return status;
}
status = WdfDeviceConfigureRequestDispatching(
Device,
WriteQueue,
WdfRequestTypeWrite
);
if(!NT_SUCCESS(status)) {
return status;
}
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Versi KMDF minimum | 1,0 |
Versi UMDF minimum | 2.0 |
Header | wdfdevice.h (termasuk Wdf.h) |
Pustaka | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | <= DISPATCH_LEVEL |
Aturan kepatuhan DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk