WdfRequestGetCompletionParams 関数 (wdfrequest.h)
[KMDF と UMDF に適用]
WdfRequestGetCompletionParams メソッドは、指定されたフレームワーク要求オブジェクトに関連付けられている I/O 完了パラメーターを取得します。
構文
void WdfRequestGetCompletionParams(
[in] WDFREQUEST Request,
[in, out] PWDF_REQUEST_COMPLETION_PARAMS Params
);
パラメーター
[in] Request
フレームワーク要求オブジェクトへのハンドル。
[in, out] Params
呼び出し元が指定した WDF_REQUEST_COMPLETION_PARAMS 構造体へのポインター。
戻り値
なし
解説
ドライバーが無効なオブジェクト ハンドルを提供すると、バグ チェックが発生します。
ドライバーが WdfRequestSend を呼び出して I/O 要求を同期または非同期的に I/O ターゲットに送信した後、I/O ターゲットが I/O 要求を 完了した 後、ドライバーは WdfRequestGetCompletionParams を呼び出して I/O 要求の完了パラメーターを取得できます。
完了パラメーター構造体には、ドライバーが WdfIoTargetFormatXxx メソッドのいずれかを呼び出して要求を書式設定した場合にのみ、有効な情報が含まれています。 たとえば、「 WdfIoTargetFormatRequestForRead」を参照してください。
ドライバーが I/O 要求を I/O ターゲットにのみ同期的に送信するメソッド (WdfIoTargetSendReadSynchronously など) を呼び出す場合、ドライバーは WdfRequestGetCompletionParams を呼び出してはなりません。
WdfRequestGetCompletionParams メソッドは、I/O 要求の完了パラメーターを指定したWDF_REQUEST_COMPLETION_PARAMS構造体にコピーします。
ドライバーが I/O 要求を非同期的に送信する場合は、通常、 CompletionRoutine コールバック関数内からこのメソッドを呼び出します。
WdfRequestGetCompletionParams の詳細については、「I/O 要求の完了」を参照してください。
例
次のコード例では、 WDF_REQUEST_COMPLETION_PARAMS 構造体を初期化し、 WdfRequestGetCompletionParams を呼び出します。
WDF_REQUEST_COMPLETION_PARAMS completionParams;
WDF_REQUEST_COMPLETION_PARAMS_INIT(&completionParams);
WdfRequestGetCompletionParams(
request,
&completionParams
);
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
最小 KMDF バージョン | 1.0 |
最小 UMDF バージョン | 2.0 |
Header | wdfrequest.h (Wdf.h を含む) |
Library | Wdf01000.sys (KMDF);WUDFx02000.dll (UMDF) |
IRQL | <=DISPATCH_LEVEL |
DDI コンプライアンス規則 | DriverCreate(kmdf)、 InvalidReqAccess(kmdf)、 InvalidReqAccessLocal(kmdf)、 KmdfIrql(kmdf)、 KmdfIrql2(kmdf)、KmdfIrqlExplicit(kmdf) |