struktur WDF_IO_QUEUE_CONFIG (wdfio.h)
[Berlaku untuk KMDF dan UMDF]
Struktur WDF_IO_QUEUE_CONFIG berisi informasi konfigurasi untuk objek antrean kerangka kerja.
Sintaks
typedef struct _WDF_IO_QUEUE_CONFIG {
ULONG Size;
WDF_IO_QUEUE_DISPATCH_TYPE DispatchType;
WDF_TRI_STATE PowerManaged;
BOOLEAN AllowZeroLengthRequests;
BOOLEAN DefaultQueue;
PFN_WDF_IO_QUEUE_IO_DEFAULT EvtIoDefault;
PFN_WDF_IO_QUEUE_IO_READ EvtIoRead;
PFN_WDF_IO_QUEUE_IO_WRITE EvtIoWrite;
PFN_WDF_IO_QUEUE_IO_DEVICE_CONTROL EvtIoDeviceControl;
PFN_WDF_IO_QUEUE_IO_INTERNAL_DEVICE_CONTROL EvtIoInternalDeviceControl;
PFN_WDF_IO_QUEUE_IO_STOP EvtIoStop;
PFN_WDF_IO_QUEUE_IO_RESUME EvtIoResume;
PFN_WDF_IO_QUEUE_IO_CANCELED_ON_QUEUE EvtIoCanceledOnQueue;
union {
struct {
ULONG NumberOfPresentedRequests;
} Parallel;
} Settings;
WDFDRIVER Driver;
} WDF_IO_QUEUE_CONFIG, *PWDF_IO_QUEUE_CONFIG;
Anggota
Size
Panjangnya, dalam byte, dari struktur ini.
DispatchType
Enumerator WDF_IO_QUEUE_DISPATCH_TYPE yang mengidentifikasi jenis pengiriman permintaan untuk antrean.
PowerManaged
Nilai WDF_TRI_STATE yang, jika diatur ke WdfTrue, menunjukkan bahwa kerangka kerja menangani manajemen daya antrean.
Jika diatur ke WdfFalse, driver harus menangani manajemen daya antrean.
Jika diatur ke WdfUseDefault, kerangka kerja menangani manajemen daya untuk antrean kecuali driver memanggil WdfFdoInitSetFilter.
Driver di atas pemilik kebijakan daya di tumpukan driver tidak boleh mengatur anggota PowerManaged ke WdfTrue.
Untuk informasi selengkapnya tentang antrean I/O yang dikelola daya, lihat Power Management untuk Antrean I/O.
AllowZeroLengthRequests
Nilai Boolean yang, jika TRUE, menunjukkan bahwa driver mengharapkan untuk menerima permintaan baca atau tulis yang memiliki panjang buffer nol, sehingga kerangka kerja mengirimkan permintaan ini ke driver. Jika FALSE, kerangka kerja tidak mengirimkan permintaan ini ke driver; sebaliknya, ini melengkapinya dengan status penyelesaian STATUS_SUCCESS.
DefaultQueue
Nilai Boolean yang, jika TRUE, menunjukkan bahwa antrean akan menjadi antrean I/O default perangkat. Jika FALSE, antrean tidak akan menjadi antrean default perangkat.
EvtIoDefault
Penunjuk ke fungsi panggilan balik EvtIoDefault khusus antrean driver, atau NULL.
EvtIoRead
Penunjuk ke fungsi panggilan balik EvtIoRead khusus antrean driver, atau NULL.
EvtIoWrite
Penunjuk ke fungsi panggilan balik EvtIoWrite khusus antrean driver, atau NULL.
EvtIoDeviceControl
Penunjuk ke fungsi panggilan balik EvtIoDeviceControl khusus antrean driver, atau NULL.
EvtIoInternalDeviceControl
Penunjuk ke fungsi panggilan balik EvtIoInternalDeviceControl khusus antrean driver, atau NULL.
EvtIoStop
Penunjuk ke fungsi panggilan balik EvtIoStop khusus antrean driver, atau NULL.
EvtIoResume
Penunjuk ke fungsi panggilan balik EvtIoResume khusus antrean driver, atau NULL.
EvtIoCanceledOnQueue
Penunjuk ke fungsi panggilan balik EvtIoCanceledOnQueue khusus antrean driver, atau NULL.
Settings
Settings.Parallel
Settings.Parallel.NumberOfPresentedRequests
Untuk metode pengiriman paralel, jumlah maksimum permintaan I/O yang dikirimkan kerangka kerja secara asinkron ke penangan permintaan antrean I/O. Untuk informasi selengkapnya, lihat bagian Keterangan berikut ini. Untuk metode pengiriman berurutan dan manual, anggota ini harus nol. Anggota ini tersedia di KMDF versi 1.9 dan yang lebih baru.
Driver
Hanya untuk penggunaan internal. Atur ke NULL. Anggota ini tersedia di KMDF versi 1.11 dan yang lebih baru.
Keterangan
Driver harus menginisialisasi struktur WDF_IO_QUEUE_CONFIG dengan memanggil WDF_IO_QUEUE_CONFIG_INIT atau WDF_IO_QUEUE_CONFIG_INIT_DEFAULT_QUEUE.
Struktur WDF_IO_QUEUE_CONFIG digunakan sebagai parameter input untuk WdfIoQueueCreate.
Dimulai dengan KMDF versi 1.9, driver dapat menggunakan anggota NumberOfPresentedRequests untuk menentukan jumlah maksimum permintaan I/O yang dikirimkan kerangka kerja secara asinkron ke penangan permintaan antrean I/O paralel. Setelah kerangka kerja mengirimkan jumlah permintaan I/O yang ditentukan ke driver, kerangka kerja tidak mengirimkan lebih banyak permintaan dari antrean sampai driver selesai, membatalkan, atau mengantre ulang setidaknya salah satu permintaan.
Untuk antrean paralel, WDF_IO_QUEUE_CONFIG_INIT dan WDF_IO_QUEUE_CONFIG_INIT_DEFAULT_QUEUE mengatur anggota NumberOfPresentedRequests ke nilai defaultnya (-1), yang menunjukkan bahwa kerangka kerja dapat mengirimkan jumlah permintaan I/O yang tidak terbatas ke driver.
Persyaratan
Persyaratan | Nilai |
---|---|
Versi KMDF minimum | 1,0 |
Versi UMDF minimum | 2.0 |
Header | wdfio.h (termasuk Wdf.h) |