Fungsi WdfRequestRequeue (wdfrequest.h)

[Berlaku untuk KMDF dan UMDF]

Metode WdfRequestRequeue mengembalikan permintaan I/O ke kepala antrean I/O dari mana ia dikirimkan ke driver.

Sintaks

NTSTATUS WdfRequestRequeue(
  [in] WDFREQUEST Request
);

Parameter

[in] Request

Handel ke objek permintaan kerangka kerja.

Nilai kembali

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

Menampilkan kode Deskripsi
STATUS_INVALID_PARAMETER
Parameter input tidak valid.
STATUS_INVALID_DEVICE_REQUEST
Nilai ini dikembalikan jika salah satu hal berikut ini terjadi:
  • Permintaan I/O yang ditentukan tidak berasal dari antrean I/O.
  • Driver tidak memiliki permintaan I/O.
  • Permintaan dapat dibatalkan.
  • Metode pengiriman antrean tidak manual.
 

Metode ini mungkin juga mengembalikan nilai NTSTATUS lainnya.

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

Keterangan

Driver dapat memanggil WdfRequestRequeue hanya jika menggunakan metode pengiriman manual untuk antrean I/O.

Jika driver memanggil WdfRequestRequeue setelah memanggil WdfIoQueuePurge, upaya antrean ulang dapat berhasil sebelum pembersihan selesai. Dalam versi 1.9 dan yang lebih lama dari KMDF, urutan ini menyebabkan sistem operasi mengalami crash. Masalah ini diperbaiki di KMDF versi 1.11 dan yang lebih baru.

Untuk informasi selengkapnya tentang WdfRequestRequeue, lihat Mengantre ulang Permintaan I/O.

Contoh

Contoh kode berikut mengembalikan permintaan I/O tertentu ke antrean tempat driver menerima permintaan.

NTSTATUS status;

status = WdfRequestRequeue(request);

Persyaratan

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