Fungsi WdfIoQueueRetrieveFoundRequest (wdfio.h)
[Berlaku untuk KMDF dan UMDF]
Metode WdfIoQueueRetrieveFoundRequest mengirimkan permintaan tertentu ke driver, sehingga driver dapat memproses permintaan.
Sintaks
NTSTATUS WdfIoQueueRetrieveFoundRequest(
[in] WDFQUEUE Queue,
[in] WDFREQUEST FoundRequest,
[out] WDFREQUEST *OutRequest
);
Parameter
[in] Queue
Handel ke objek antrean kerangka kerja.
[in] FoundRequest
Handel ke objek permintaan kerangka kerja yang diperoleh dengan memanggil WdfIoQueueFindRequest.
[out] OutRequest
Penunjuk ke lokasi yang menerima handel ke objek permintaan kerangka kerja. Driver harus menggunakan handel ini saat memproses permintaan.
Nilai kembali
WdfIoQueueRetrieveFoundRequest mengembalikan STATUS_SUCCESS jika operasi berhasil. Jika tidak, metode ini mungkin mengembalikan salah satu nilai berikut:
Menampilkan kode | Deskripsi |
---|---|
|
Driver menyediakan handel yang tidak valid. |
|
Permintaan yang diidentifikasi oleh parameter FoundRequest tidak dapat ditemukan dalam antrean I/O. |
|
Kerangka kerja mencapai akhir antrean I/O tanpa menemukan permintaan yang cocok dengan kriteria pencarian. |
Metode ini juga dapat mengembalikan nilai NTSTATUS lainnya.
Pemeriksaan bug terjadi jika driver menyediakan handel objek yang tidak valid.
Keterangan
Setelah memanggil WdfIoQueueRetrieveFoundRequest untuk mendapatkan permintaan I/O, driver memiliki permintaan dan harus memproses permintaan I/O dengan cara tertentu.
Sebelum memanggil WdfIoQueueRetrieveFoundRequest, driver harus memanggil WdfIoQueueFindRequest, yang mengambil handel yang dapat digunakan driver sebagai parameter FoundRequest ke WdfIoQueueRetrieveFoundRequest.
Jika driver Anda dibangun dengan KMDF versi 1.11 atau yang lebih baru, driver dapat memanggil WdfIoQueueRetrieveFoundRequest tanpa terlebih dahulu memanggil WdfIoQueueFindRequest. Dalam hal ini, driver harus memastikan bahwa objek permintaan masih valid dan dalam antrean.
Jika panggilan ke WdfIoQueueRetrieveFoundRequest mengembalikan STATUS_NOT_FOUND, permintaan yang sebelumnya ada dalam antrean telah dihapus. Permintaan mungkin telah dibatalkan.
Untuk informasi selengkapnya tentang metode WdfIoQueueRetrieveFoundRequest , lihat Mengelola Antrean I/O.
Contoh
Untuk contoh kode yang menggunakan WdfIoQueueRetrieveFoundRequest, lihat WdfIoQueueFindRequest.
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), wdfioqueuefindrequestfailed, WdfIoQueueFindRequestFailed(kmdf), wdfioqueueretrievefoundrequest, WdfIoQueueRetrieveFoundRequest(kmdf) |