次の方法で共有


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 構造体へのポインター。

戻り値

何一つ

備考

ドライバーが無効なオブジェクト ハンドルを提供すると、バグ チェックが発生します。

ドライバーは、同期的または非同期的に I/O 要求を I/O ターゲットに送信するために WdfRequestSend を呼び出した後、I/O ターゲットが I/O 要求 完了 後、WdfRequestGetCompletionParams を呼び出して、I/O 要求の完了パラメーターを取得できます。

完了パラメーター構造体には、ドライバーが、WdfIoTargetFormatXxx メソッドのいずれかを呼び出すことによって要求を書式設定した場合にのみ、有効な情報が含まれています。 たとえば、WdfIoTargetFormatRequestForRead を参照してください。

ドライバーが I/O ターゲットに I/O 要求を同期的にのみ送信するメソッドの 1 つ (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
ヘッダー wdfrequest.h (Wdf.h を含む)
ライブラリ 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