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 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
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