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),InvalidReqAccessLocal,KmdfIrql(kmdf),KmdfIrql2(kmdf),KmdfIrqlExplicit(kmdf),ReqCompletionRoutine(kmdf) |