WavePci ポート ドライバー
重要WavePci の使用は推奨されなくなり、代わりに WaverRT を使用してください。
WavePci ポート ドライバーは、物理メモリ内の任意の場所との間でスキャッター/ギャザー DMA 転送を実行できるオーディオ デバイスによるウェーブ ストリームの再生または記録を管理します。 スキャッター/ギャザーDMAを使用すると、デバイスは一連のマッピングで構成されるバッファ内のオーディオデータを処理できます。 各マッピングは物理的に連続したメモリのブロックですが、連続するマッピングは必ずしも互いに連続しているとは限りません。 WavePci 互換デバイスは、オーディオ アダプターのハードウェア機能です。 通常、アダプターはマザーボード上の統合チップセットの一部であるか、マザーボード上のPCIスロットに差し込まれるオーディオカードに取り付けられています。 アダプター ドライバーは、ウェーブ ストリームをキャプチャまたはレンダリングできるウェーブ フィルターを形成するために WavePci ポート ドライバー オブジェクトにバインドする対応する WavePci ミニポート ドライバーを提供します。
WavePci ポート ドライバーは、ミニポート ドライバーに IPortWavePciインターフェイスを公開します。 IPortWavePci は、基本インターフェイス IPortのメソッドを継承します。 さらに、IPortWavePci は次のメソッドを提供します:
IPortWavePci::NewMasterDmaChannel
新しいマスター DMA チャネル オブジェクトを作成します。 IPortWavePci::通知
DMA コントローラーがオーディオ ストリーム内の新しい位置に進んだことをポート ドライバーに通知します。 WavePci ポート ドライバーは、ミニポート ドライバーの各ストリーム オブジェクトに IPortWavePciStream インターフェイスも公開します。 IPortWavePciStream は、基本インターフェイスIUnknown のメソッドを継承します。 IPortWavePciStream は、次の追加メソッドを提供します:
IPortWavePciStream::GetMapping
ポート ドライバーから次のマッピングを取得します。 IPortWavePciStream::ReleaseMapping
以前にGetMapping 呼び出しによって取得されたマッピングを解放します。 IPortWavePciStream::TerminatePacket
I/O パケットがキャプチャ データで部分的にしか満たされていない場合でも終了します。 I/O パケットは、特定のマッピング IRP に関連付けられているすべてのマッピングで構成されるオーディオ バッファーの一部です。
WavePci ポート オブジェクトとミニポート オブジェクトは、それぞれの IPortWavePci とIMiniportWavePci インターフェイスを介して相互に通信します。 さらに、WavePci ポート オブジェクトとミニポート ストリーム オブジェクトは、それぞれの IPortWavePciStream とIMiniportWavePciStream インターフェイスを介して相互に通信します。