WdfRequestRequeue 函式 (wdfrequest.h)

[適用於 KMDF 和 UMDF]

WdfRequestRequeue 方法會將 I/O 要求傳回給傳遞至驅動程式的 I/O 佇列前端。

語法

NTSTATUS WdfRequestRequeue(
  [in] WDFREQUEST Request
);

參數

[in] Request

架構要求物件的句柄。

傳回值

如果作業成功,WdfRequestRequeue 會傳回STATUS_SUCCESS。 否則,這個方法可能會傳回下列其中一個值:

傳回碼 Description
STATUS_INVALID_PARAMETER
輸入參數無效。
STATUS_INVALID_DEVICE_REQUEST
如果發生下列其中一項,則會傳回此值:
  • 指定的 I/O 要求不是來自 I/O 佇列。
  • 驅動程式沒有擁有 I/O 要求。
  • 要求是可取消的。
  • 佇列的分派方法不是手動的。
 

這個方法也可能傳回其他 NTSTATUS值

如果驅動程式提供無效的物件句柄,就會發生錯誤檢查。

備註

只有在驅動程式使用 I/O 佇列的手動分派方法時,驅動程式才能呼叫 WdfRequestRequeue

如果驅動程式在呼叫 WdfIoQueuePurge 之後呼叫 WdfRequestRequeue,重新佇列嘗試可能會在清除完成之前成功。 在 1.9 版和更早版本的 KMDF 中,此順序會導致操作系統當機。 KMDF 1.11 版和更新版本中已修正此問題。

如需 WdfRequestRequeue 的詳細資訊,請參閱 重新排入佇列 I/O 要求

範例

下列程式代碼範例會將指定的 I/O 要求傳回給驅動程式收到要求的佇列。

NTSTATUS status;

status = WdfRequestRequeue(request);

規格需求

需求
目標平台 Universal
最低 KMDF 版本 1.0
最低UMDF版本 2.0
標頭 wdfrequest.h (包含 Wdf.h)
程式庫 Wdf01000.sys (KMDF) ;WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
DDI 合規性規則 DriverCreate (kmdf) InvalidReqAccess (kmdf) InvalidReqAccessLocal (kmdf) KmdfIrql (kmdf ) 、 KmdfIrql2 (kmdf) 、 KmdfIrqlExplicit (kmdf)