Bagikan melalui


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)

Lihat juga

WDF_IO_QUEUE_CONFIG_INIT

WDF_IO_QUEUE_CONFIG_INIT_DEFAULT_QUEUE

WDF_IO_QUEUE_DISPATCH_TYPE

WdfIoQueueBuat

WdfIoQueueReadyNotify