Fungsi WdfIoQueueRetrieveNextRequest (wdfio.h)

[Berlaku untuk KMDF dan UMDF]

Metode WdfIoQueueRetrieveNextRequest mengambil permintaan I/O berikutnya yang tersedia dari antrean I/O tertentu.

Sintaks

NTSTATUS WdfIoQueueRetrieveNextRequest(
  [in]  WDFQUEUE   Queue,
  [out] WDFREQUEST *OutRequest
);

Parameter

[in] Queue

Handel ke objek antrean kerangka kerja.

[out] OutRequest

Penunjuk ke lokasi yang menerima handel ke objek permintaan kerangka kerja. Jika antrean kosong atau permintaan terakhir telah diambil, parameter ini menerima NULL.

Nilai kembali

WdfIoQueueRetrieveNextRequest mengembalikan STATUS_SUCCESS jika operasi berhasil. Jika tidak, metode ini mungkin mengembalikan salah satu nilai berikut:

Menampilkan kode Deskripsi
STATUS_INVALID_PARAMETER
Driver menyediakan handel yang tidak valid.
STATUS_NO_MORE_ENTRIES
Kerangka kerja mencapai akhir antrean I/O.
STATUS_INVALID_DEVICE_STATE
Antrean I/O yang ditentukan dikonfigurasi untuk metode pengiriman paralel.
STATUS_WDF_PAUSED
Antrean I/O yang ditentukan dikelola daya dan perangkatnya dalam keadaan daya rendah, atau antrean yang ditentukan dihentikan.
 

Metode ini juga mungkin mengembalikan nilai NTSTATUS lainnya.

Pemeriksaan bug terjadi jika driver menyediakan handel objek yang tidak valid.

Keterangan

Jika driver mengonfigurasi antrean I/O untuk pengiriman manual permintaan I/O, driver biasanya memanggil WdfIoQueueRetrieveNextRequest untuk mendapatkan permintaan dari antrean. Driver yang telah mengonfigurasi antrean I/O untuk pengiriman berurutan mungkin juga memanggil WdfIoQueueRetrieveNextRequest. Untuk informasi selengkapnya tentang menggunakan WdfIoQueueRetrieveNextRequest dengan metode pengiriman manual atau berurutan, lihat Metode Pengiriman untuk Permintaan I/O.

Setelah memanggil WdfIoQueueRetrieveNextRequest untuk mendapatkan permintaan I/O, driver memiliki permintaan dan harus memproses permintaan I/O dengan cara tertentu.

Untuk informasi selengkapnya tentang metode WdfIoQueueRetrieveNextRequest , lihat Mengelola Antrean I/O.

Contoh

Contoh kode berikut mendapatkan handel ke objek permintaan berikutnya yang terkandung dalam antrean I/O perangkat.

NTSTATUS  status;
WDFREQUEST  request;

status = WdfIoQueueRetrieveNextRequest(
                                       pDeviceContext->ReadQueue,
                                       &request
                                       );

Persyaratan

Persyaratan Nilai
Target Platform Universal
Versi KMDF minimum 1,0
Versi UMDF minimum 2.0
Header wdfio.h (termasuk Wdf.h)
Pustaka Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <= DISPATCH_LEVEL
Aturan kepatuhan DDI DoubleCompletion(kmdf), DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), wdfioqueueretrievenextrequest, WdfIoQueueRetrieveNextRequest(kmdf)

Lihat juga

WdfIoQueueRetrieveFoundRequest

WdfIoQueueRetrieveRequestByFileObject