共用方式為


WdfRequestSetCompletionRoutine 函式 (wdfrequest.h)

[適用於 KMDF 和 UMDF]

WdfRequestSetCompletionRoutine 方法會註冊或取消註冊指定之架構要求物件的完成例程。

語法

void WdfRequestSetCompletionRoutine(
  [in]           WDFREQUEST                         Request,
  [in, optional] PFN_WDF_REQUEST_COMPLETION_ROUTINE CompletionRoutine,
  [in, optional] __drv_aliasesMem WDFCONTEXT        CompletionContext
);

參數

[in] Request

架構要求物件的句柄。

[in, optional] CompletionRoutine

如果驅動程式正在註冊完成例程,或 NULL 取消註冊先前註冊完成例程,則 CompletionRoutine 回呼函式的指標。

[in, optional] CompletionContext

架構傳遞至 CompletionRoutine 回呼函式之驅動程式定義內容資訊的不具型別指標。 這個參數是選擇性的,而且可以 NULL

傳回值

沒有

言論

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

如果您的驅動程序轉送 I/O 要求,但如果您想要讓驅動程式在較低層級驅動程式完成要求時收到通知,您的驅動程式可以提供 CompletionRoutine 回呼函式,並呼叫 WdfRequestSetCompletionRoutine 來註冊函式。 架構會在較低層級驅動程式完成 I/O 要求之後呼叫回呼函式。

如果驅動程式設定 I/O 完成回呼,驅動程式必須先格式化要求,再將要求傳送至預設 I/O 目標,即使驅動程式未變更要求中的任何參數也一樣。 您可以使用 WdfRequestFormatRequestUsingCurrentType來完成格式化。

如需 WdfRequestSetCompletionRoutine的詳細資訊,請參閱 完成 I/O 要求

例子

如需使用 WdfRequestSetCompletionRoutine的程式碼範例,請參閱 WdfRequestSend

要求

要求 價值
目標平臺 普遍
最低 KMDF 版本 1.0
最低 UMDF 版本 2.0
標頭 wdfrequest.h (包括 Wdf.h)
連結庫 Wdf01000.sys (KMDF):WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
DDI 合規性規則 DriverCreate(kmdf)InvalidReqAccess(kmdf)InvalidReqAccessLocalKmdfIrql(kmdf)KmdfIrql2(kmdf),KmdfIrqlExplicit(kmdf),ReqCompletionRoutine(kmdf)

另請參閱

CompletionRoutine