次の方法で共有


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)

関連項目

CompletionRoutine