次の方法で共有


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)

こちらもご覧ください

CompletionRoutine

WDF_REQUEST_COMPLETION_PARAMS

WDF_REQUEST_COMPLETION_PARAMS_INIT