次の方法で共有


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

こちらもご覧ください

IWDFIoQueue::RetrieveNextRequest

IWDFIoRequest

IWDFMemory

IWDFMemory::GetDataBuffer