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