WdfRequestRequeue 函式 (wdfrequest.h)

[適用于 KMDF 和 UMDF]

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

語法

NTSTATUS WdfRequestRequeue(
  [in] WDFREQUEST Request
);

參數

[in] Request

架構要求物件的控制碼。

傳回值

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

傳回碼 描述
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);

規格需求

   
目標平臺 環球
最小 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)