Bagikan melalui


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

WDF_DEVICE_IO_TYPE (UMDF)