Bagikan melalui


enumerasi WDF_DEVICE_IO_TYPE (wudfddi_types.h)

[Peringatan: UMDF 2 adalah versi terbaru UMDF dan pengganti UMDF 1. Semua driver UMDF baru harus ditulis menggunakan UMDF 2. Tidak ada fitur baru yang ditambahkan ke UMDF 1 dan ada dukungan terbatas untuk UMDF 1 pada versi Windows 10 yang lebih baru. Driver Universal Windows harus menggunakan UMDF 2. Untuk informasi selengkapnya, lihat Mulai menggunakan UMDF.]

Enumerasi WDF_DEVICE_IO_TYPE digunakan untuk menentukan metode untuk mengakses buffer data.

Sintaks

typedef enum _WDF_DEVICE_IO_TYPE {
  WdfDeviceIoUndefined,
  WdfDeviceIoNeither,
  WdfDeviceIoBuffered,
  WdfDeviceIoDirect,
  WdfDeviceIoBufferedOrDirect,
  WdfDeviceIoMaximum
} WDF_DEVICE_IO_TYPE, *PWDF_DEVICE_IO_TYPE;

Konstanta

 
WdfDeviceIoUndefined
Dicadangkan untuk penggunaan sistem.
WdfDeviceIoNeither
Dicadangkan untuk penggunaan sistem.
WdfDeviceIoBuffered
UMDF dan driver menggunakan I/O buffer untuk mengakses buffer data.
WdfDeviceIoDirect
UMDF dan driver menggunakan I/O langsung untuk mengakses buffer data.
WdfDeviceIoBufferedOrDirect
UMDF dan driver dapat menggunakan I/O yang di-buffer atau I/O langsung untuk mengakses buffer data.
WdfDeviceIoMaximum
Dicadangkan untuk penggunaan sistem.

Keterangan

Enumerasi WDF_DEVICE_IO_TYPE digunakan sebagai input ke IWDFDeviceInitialize2::SetIoTypePreference dan sebagai output dari IWDFIoRequest2::GetEffectiveIoType.

Anda harus menggunakan panduan berikut saat memilih jenis I/O untuk driver Anda:

  • I/O yang di-buffer memberikan keamanan dan keandalan terbaik, karena aplikasi dan driver mengakses salinan data yang terpisah. Selain itu, I/O yang di-buffer memberikan performa terbaik jika sebagian besar transfer data relatif kecil (biasanya dua halaman memori atau kurang).
  • I/O langsung memberikan performa terbaik jika sebagian besar permintaan I/O mentransfer data dalam jumlah besar. Namun, aplikasi dan driver mengakses satu salinan data. Oleh karena itu, driver harus menyalin parameter yang ditentukan aplikasi ke memori driver lokal sebelum memvalidasi parameter untuk memastikan bahwa aplikasi tidak memodifikasi parameter setelah validasi. Jika driver harus memvalidasi data aplikasi dalam jumlah besar, I/O yang di-buffer mungkin merupakan pilihan yang lebih baik karena driver tidak perlu menyalin data sebelum memvalidasinya.
  • Biasanya, driver filter yang dapat berada di beberapa tumpukan driver dan melakukan sedikit pemrosesan data aplikasi dapat mendukung I/O yang di-buffer dan I/O langsung dan oleh karena itu dapat menentukan WdfDeviceIoBufferedOrDirect. Namun, jika driver memvalidasi parameter yang ditentukan aplikasi, driver harus menyalinnya terlebih dahulu ketika I/O langsung digunakan.
Untuk informasi selengkapnya tentang mengakses buffer data permintaan I/O, lihat Mengakses Buffer Data di Driver UMDF-Based.

Untuk versi KMDF dari enumerasi ini, lihat WDF_DEVICE_IO_TYPE.

Persyaratan

Persyaratan Nilai
Versi UMDF minimum 1.9
Header wudfddi_types.h (termasuk Wudfddi.h)

Lihat juga

IWDFDeviceInitialize2::SetIoTypePreference

IWDFIoRequest2::GetEffectiveIoType

WDF_DEVICE_IO_BUFFER_RETRIEVAL