次の方法で共有


WdfIoQueueRetrieveFoundRequest 関数 (wdfio.h)

[KMDF と UMDF に適用]

WdfIoQueueRetrieveFoundRequest メソッドは、ドライバーが要求を処理できるように、指定された要求をドライバーに配信します。

構文

NTSTATUS WdfIoQueueRetrieveFoundRequest(
  [in]  WDFQUEUE   Queue,
  [in]  WDFREQUEST FoundRequest,
  [out] WDFREQUEST *OutRequest
);

パラメーター

[in] Queue

フレームワーク キュー オブジェクトへのハンドル。

[in] FoundRequest

WdfIoQueueFindRequest を呼び出すことによって取得されたフレームワーク要求オブジェクトへのハンドル。

[out] OutRequest

フレームワーク要求オブジェクトへのハンドルを受け取る場所へのポインター。 ドライバーは、要求を処理するときにこのハンドルを使用する必要があります。

戻り値

操作が成功した場合、WdfIoQueueRetrieveFoundRequest はSTATUS_SUCCESSを返します。 それ以外の場合、このメソッドは次のいずれかの値を返す可能性があります。

リターン コード 説明
STATUS_INVALID_PARAMETER
ドライバーが無効なハンドルを指定しました。
STATUS_NOT_FOUND
FoundRequest パラメーターで識別される要求が I/O キューに見つかりません。
STATUS_NO_MORE_ENTRIES
フレームワークは、検索条件に一致する要求を見つけずに I/O キューの末尾に達しました。
 

このメソッドは、他の NTSTATUS 値を返す場合もあります。

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

注釈

WdfIoQueueRetrieveFoundRequest を呼び出して I/O 要求を取得した後、ドライバーは要求を所有し、何らかの方法で I/O 要求を処理する必要があります。

WdfIoQueueRetrieveFoundRequest を呼び出す前に、ドライバーは WdfIoQueueFindRequest を呼び出す必要があります。これにより、ドライバーが WdfIoQueueRetrieveFoundRequestFoundRequest パラメーターとして使用できるハンドルを取得します。

ドライバーが KMDF バージョン 1.11 以降でビルドされている場合、ドライバーは WdfIoQueueFindRequest を最初に呼び出さずに WdfIoQueueRetrieveFoundRequest を呼び出すことができます。 この場合、ドライバーは、要求オブジェクトがまだ有効であり、キュー内にあることを確認する必要があります。

WdfIoQueueRetrieveFoundRequest の呼び出しがSTATUS_NOT_FOUNDを返した場合、キューに以前に存在していた要求が削除されました。 要求が取り消された可能性があります。

WdfIoQueueRetrieveFoundRequest メソッドの詳細については、「I/O キューの管理」を参照してください。

WdfIoQueueRetrieveFoundRequest を使用するコード例については、「WdfIoQueueFindRequest」を参照してください。

要件

要件
対象プラットフォーム ユニバーサル
最小 KMDF バージョン 1.0
最小 UMDF バージョン 2.0
Header wdfio.h (Wdf.h を含む)
Library Wdf01000.sys (KMDF);WUDFx02000.dll (UMDF)
IRQL <= DISPATCH_LEVEL
DDI コンプライアンス規則 DoubleCompletion(kmdf)DriverCreate(kmdf)KmdfIrql(kmdf)KmdfIrql2(kmdf)、KmdfIrqlExplicit(kmdf)、wdfioqueuefindrequestfailed、 WdfIoQueueFindRequestFailed(kmdf)、wdfioqueueretrievefoundrequest、 WdfIoQueueRetrieveFoundRequest(kmdf)

こちらもご覧ください

WdfIoQueueFindRequest

WdfIoQueueRetrieveNextRequest

WdfIoQueueRetrieveRequestByFileObject