IWDFIoRequest::GetOutputMemory メソッド (wudfddi.h)
[警告: UMDF 2 は UMDF の最新バージョンであり、UMDF 1 よりも優先されます。 すべての新しい UMDF ドライバーは、UMDF 2 を使用して記述する必要があります。 UMDF 1 には新機能が追加されておらず、新しいバージョンのWindows 10では UMDF 1 のサポートが制限されています。 ユニバーサル Windows ドライバーでは UMDF 2 を使用する必要があります。 詳細については、「UMDF を使用したはじめに」を参照してください。
GetOutputMemory メソッドは、I/O 要求の出力バッファーを表すメモリ オブジェクトを取得します。
構文
void GetOutputMemory(
[out] IWDFMemory **ppWdfMemory
);
パラメーター
[out] ppWdfMemory
メモリ オブジェクトの参照カウント IWDFMemory インターフェイスへのポインターを受け取る変数へのポインター。 NULL を返すのが有効であることに注意してください。この状況では、出力メモリは I/O 要求に関連付けされません。
戻り値
なし
解説
バッファー内の I/O アクセス メソッドを使用するドライバーは、GetOutputMemory を呼び出して、I/O 要求の出力バッファーを取得できます。
ドライバーが I/O 要求を完了する前に、ドライバーはメモリ オブジェクトの IWDFMemory::Release メソッドを呼び出す必要があります。 基になるメモリ オブジェクトは、要求が完了すると解放されます。
I/O 要求に関連付けられている出力バッファーには、ドライバーが要求の発信元に提供する情報 (ディスクからのデータなど) が含まれています。 ドライバーは GetOutputMemory を 呼び出して、読み取り要求またはデバイス I/O 制御要求の出力バッファーを取得できますが、書き込み要求の場合は取得できません (書き込み要求では出力データが提供されないため)。 出力バッファーにアクセスするには、ドライバーで IWDFMemory::GetDataBuffer メソッドを呼び出す必要があります。
UMDF は、I/O 要求を受信したときに、I/O 要求をドライバーの I/O キューに追加する前に、I/O 要求のメモリ オブジェクトを作成します。 UMDF は、メモリ オブジェクトのメモリを割り当てることができない場合、エラーの戻り状態で I/O 要求を完了し、ドライバーに I/O 要求を配信しません。
I/O 要求のデータ バッファーへのアクセスの詳細については、「 UMDF-Based ドライバーでのデータ バッファーへのアクセス」を参照してください。
例
GetOutputMemory メソッドの使用方法のコード例については、「IWDFIoQueue::RetrieveNextRequest」を参照してください。
要件
要件 | 値 |
---|---|
サポート終了 | UMDF 2.0 以降では使用できません。 |
対象プラットフォーム | デスクトップ |
最小 UMDF バージョン | 1.5 |
Header | wudfddi.h (Wudfddi.h を含む) |
[DLL] | WUDFx.dll |