次の方法で共有


IPortWaveRTStream インターフェイス (portcls.h)

IPortWaveRTStream インターフェイスは、Windows Vista 以降のオペレーティング システムでサポートされており、WaveRT ミニポート ドライバーで使用するためのヘルパー メソッドを提供するストリーム固有のインターフェイスです。 ミニポート ドライバーは、オーディオ データの循環バッファーの割り当てとマッピングを実行するメソッドを呼び出します。 WaveRT ポート ドライバーは、このインターフェイスを実装します。 ポート ドライバーは、作成する各ミニポート ドライバー ストリーム オブジェクトへの IPortWaveRTStream オブジェクト参照を提供します。 IPortWaveRTStream は、IUnknown インターフェイスから継承します。

オーディオ ストリームは、WaveRT フィルターの各ピン インスタンスに関連付けられます。 アダプター ドライバーは、WaveRT ポートとミニポート ドライバーをバインドすることによってフィルターを形成します。 ポート ドライバーが IMiniportWaveRT::NewStream メソッドを呼び出してミニポート ドライバー ストリーム オブジェクトを作成すると、ポート ドライバーは IPortWaveRTStream 参照をメソッドの呼び出しパラメーターの 1 つとして渡します。

環状バッファーに必要なメモリを割り当てるには、ミニポート ドライバーは、AllocatePagesForMdl メソッドまたは IPortWaveRTStream インターフェイスの AllocateContiguousPagesForMdl メソッドを呼び出す必要があります。 このインターフェイスには、割り当てられたページをマップしたり、マップを解除したり、解放したりできる追加のメソッドが用意されています。

IPortWaveRTStream インターフェイスのメソッドは、メモリ記述子リスト (MDLs) の割り当てとマッピングを実行する MmXxx カーネル関数に基づいており、これに似ています。 ただし、IPortWaveRTStream メソッドの代わりに MmXxx 関数を使用することはできません。

継承

IPortWaveRTStream インターフェイスは、IUnknown インターフェイスから継承します。 IPortWaveRTStream には、次の種類のメンバーもあります。

メソッド

IPortWaveRTStream インターフェイスには、次のメソッドがあります。

 
IPortWaveRTStream::AllocateContiguousPagesForMdl

AllocateContiguousPagesForMdl メソッドは、連続した非ページの物理メモリ ページの一覧を割り当て、それらを記述するメモリ記述子リスト (MDL) へのポインターを返します。
IPortWaveRTStream::AllocatePagesForMdl

AllocatePagesForMdl メソッドは、非ページ物理メモリ ページの一覧を割り当て、それらを記述するメモリ記述子リスト (MDL) へのポインターを返します。
IPortWaveRTStream::FreePagesFromMdl

FreePagesFromMdl メソッドは、メモリ記述子リスト (MDL) を解放します。
IPortWaveRTStream::GetPhysicalPageAddress

GetPhysicalPageAddress メソッドは、メモリ記述子リスト (MDL) 内のページの物理アドレスを返します。
IPortWaveRTStream::GetPhysicalPagesCount

GetPhysicalPagesCount メソッドは、メモリ記述子リスト (MDL) 内の物理ページの数を返します。
IPortWaveRTStream::MapAllocatedPages

MapAllocatedPages メソッドは、以前に割り当てられた物理ページの一覧を、カーネル モードからアクセスできる仮想メモリの連続したブロックにマップします。
IPortWaveRTStream::UnmapAllocatedPages

UnmapAllocatedPages メソッドは、マッピングを解放します。

必要条件

要件 価値
ターゲット プラットフォーム ウィンドウズ
ヘッダー portcls.h