enumerasi WDF_DEVICE_IO_BUFFER_RETRIEVAL (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_BUFFER_RETRIEVAL digunakan untuk menentukan kapan UMDF membuat buffer permintaan I/O tersedia untuk driver.
Sintaks
typedef enum _WDF_DEVICE_IO_BUFFER_RETRIEVAL {
WdfDeviceIoBufferRetrievalInvalid,
WdfDeviceIoBufferRetrievalCopyImmediately,
WdfDeviceIoBufferRetrievalDeferred,
WdfDeviceIoBufferRetrievalMaximum
} WDF_DEVICE_IO_BUFFER_RETRIEVAL, *PWDF_DEVICE_IO_BUFFER_RETRIEVAL;
Konstanta
WdfDeviceIoBufferRetrievalInvalid Dicadangkan untuk penggunaan sistem. |
WdfDeviceIoBufferRetrievalCopyImmediately UMDF membuat buffer permintaan I/O tersedia untuk driver (dengan menyalinnya ke dalam proses host driver UMDF) segera setelah UMDF menerima permintaan I/O. Untuk informasi selengkapnya, lihat bagian Keterangan berikut ini. |
WdfDeviceIoBufferRetrievalDeferred UMDF membuat buffer permintaan I/O tersedia untuk driver (dengan menyalinnya ke dalam proses host driver UMDF) hanya ketika driver mencoba mengakses buffer. Untuk informasi selengkapnya, lihat bagian Keterangan berikut ini. |
WdfDeviceIoBufferRetrievalMaximum Dicadangkan untuk penggunaan sistem. |
Keterangan
Enumerasi WDF_DEVICE_IO_BUFFER_RETRIEVAL digunakan sebagai input ke IWDFDeviceInitialize2::SetIoTypePreference.
Dalam versi UMDF sebelum versi 1.9, UMDF selalu membuat buffer permintaan I/O tersedia untuk driver (dengan menyalin buffer ke dalam proses host driver UMDF) segera setelah UMDF menerima permintaan I/O. IWDFIoRequest::GetInputMemory dan IWDFIoRequest::GetOutputMemory adalah satu-satunya metode objek yang dapat dipanggil driver untuk mengakses buffer.
UMDF versi 1.9 dan yang lebih baru dapat mendukung pengambilan buffer permintaan segera atau ditangguhkan. Semua driver baru harus mengaktifkan pengambilan yang ditangguhkan karena biasanya memberikan performa driver yang lebih baik daripada pengambilan segera. Jika driver tidak mengaktifkan pengambilan yang ditangguhkan, UMDF akan menggunakan pengambilan segera.
Untuk menunda pengambilan buffer, driver Anda harus memanggil IWDFDeviceInitialize2::SetIoTypePreference dan menentukan nilai WdfDeviceIoBufferRetrievalDeferred . Setelah driver Anda mengaktifkan pengambilan yang ditangguhkan, driver dapat memanggil metode berikut untuk mengakses buffer permintaan, menggunakan metode akses buffer atau langsung:
IWDFIoRequest2::RetrieveInputBuffer
IWDFIoRequest2::RetrieveInputMemory
IWDFIoRequest2::RetrieveOutputBuffer
IWDFIoRequest2::RetrieveOutputMemory
Driver yang memungkinkan pengambilan yang ditangguhkan tidak dapat menggunakan IWDFIoRequest::GetInputMemory dan IWDFIoRequest::GetOutputMemory untuk mengakses buffer.
Untuk informasi selengkapnya tentang mengakses buffer data permintaan I/O, lihat Mengakses Buffer Data di Driver UMDF-Based.
Persyaratan
Persyaratan | Nilai |
---|---|
Versi UMDF minimum | 1.9 |
Header | wudfddi_types.h (termasuk Wudfddi.h) |
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