I/O 要求に関する情報の取得
I/O リクエストを処理する前に、ドライバーはリクエストタイプを決定する必要があります。 フレームワーク ベースのドライバーは、デバイスの I/O キューを作成するとき、通常、各キューまたはリクエストハンドラーが特定のタイプ (読み取り、書き込み、またはデバイス I/O コントロール) のリクエストを受信するように、 I/O キューとリクエストハンドラーを設定します。
リクエストタイプを決定した後、ドライバーは必要に応じて、リクエストの入力バッファーと出力バッファーを取得する必要があります。 リクエストのバッファーを取得する方法については、Accessing Data Buffers in Framework-Based Driversをご参照ください。
ドライバーが受信した I/O リクエストに関する追加情報を提供するために、フレームワークリクエストオブジェクトは次のメソッドを定義します:
I/O リクエストが配送された I/O キューへのハンドルを返すWdfRequestGetIoQueue。
リクエストの発信元のプロセッサ アクセス モード (ユーザーまたはカーネル) を返す WdfRequestGetRequestorMode。
リクエストに関連付けられたフレームワーク ファイル オブジェクトへのハンドルを返すWdfRequestGetFileObject。
リクエストに関連付けられた WDM IRP 構造を返すWdfRequestWdmGetIrp。
WDM フォーマットで IRP 以外のリクエストパラメーターを取得するWdfRequestGetParameters。
ドライバーが I/O リクエストを完了した後、ドライバー スタック内の他のドライバーは、リクエストの完了情報を取得するために、追加のリクエストオブジェクト メソッドを呼び出すことができます。 これらの追加メソッドの詳細については、Completing I/O Requestsをご参照ください。