I/O 要求に関する情報の取得
ドライバーは、I/O 要求を処理する前に、要求の種類を判断する必要があります。フレームワークベースのドライバーは、通常、デバイスの I/O キューの作成時に、各 I/O キューまたは各要求ハンドラーが特定の種類の要求 (読み取り、書き込み、またはデバイス I/O 制御) を受信するように、I/O キューと要求ハンドラーを設定します。
要求の種類を特定した後、ドライバーは、要求の入力バッファーと出力バッファー (必要な場合) を取得する必要があります。要求のバッファーの取得方法については、「フレームワークベースのドライバーでのデータ バッファーへのアクセス」を参照してください。
ドライバーが受信した I/O 要求に関する追加情報を公開するために、フレークワーク要求オブジェクトでは次のメソッドが定義されています。
WdfRequestGetIoQueue: I/O 要求の送信元の I/O キューのハンドルを返します。
WdfRequestGetRequestorMode: 要求の送信元のプロセッサ アクセス モード (ユーザーまたはカーネル) を返します。
WdfRequestGetFileObject: 要求に関連付けられたフレームワーク ファイル オブジェクトのハンドルを返します。
WdfRequestWdmGetIrp: 要求に関連付けられた WDM IRP 構造体を返します。
WdfRequestGetParameters: 非 IRP 要求のパラメーターを WDM 形式で取得します。
ドライバーが I/O 要求を完了した後、ドライバー スタック内の他のドライバーは、追加の要求オブジェクト メソッドを呼び出して、要求完了情報を取得できます。これらの追加のメソッドの詳細については、「I/O 要求の完了」を参照してください。