次の方法で共有


WavePci ポート ドライバー

大事な WavePci の使用は推奨されなくなりました。代わりに WaverRT を使用してください。

WavePci ポート ドライバーは、物理メモリ内の任意の場所との間で分散/収集 DMA 転送を実行できるオーディオ デバイスによるウェーブ ストリームの再生または記録を管理します。 散布図/収集 DMA を使用すると、デバイスは一連のマッピングで構成されるバッファー内のオーディオ データを処理できます。 各マッピングは物理的に連続したメモリのブロックですが、連続するマッピングは必ずしも互いに連続しているわけではありません。 WavePci 互換デバイスは、オーディオ アダプターのハードウェア機能です。 通常、アダプターはマザーボード上の統合チップセットの一部であるか、マザーボード上の PCI スロットに接続するオーディオ カードに取り付けられています。 アダプター ドライバーは、ウェーブ ストリームをキャプチャまたはレンダリングできるウェーブ フィルターを形成する WavePci ポート ドライバー オブジェクトにバインドする対応する WavePci ミニポート ドライバーを提供します。

WavePci ポート ドライバーは、ミニポート ドライバーに IPortWavePci インターフェイスを公開します。 IPortWavePci は、基本インターフェイス IPort のメソッドを継承します。 さらに、IPortWavePci には次のメソッドが用意されています。

IPortWavePci::NewMasterDmaChannel

新しいマスター DMA チャネル オブジェクトを作成します。 IPortWavePci::Notify

DMA コントローラーがオーディオ ストリーム内の新しい位置に進んだことをポート ドライバーに通知します。 WavePci ポート ドライバーは、ミニポート ドライバーの各ストリーム オブジェクトに IPortWavePciStream インターフェイスも公開します。 IPortWavePciStream は、基本インターフェイス IUnknown のメソッドを継承します。 IPortWavePciStream には、次の追加メソッドが用意されています。

IPortWavePciStream::GetMapping

ポート ドライバーから次のマッピングを取得します。 IPortWavePciStream::ReleaseMapping

GetMapping 呼び出しによって以前に取得されたマッピングを解放します。 IPortWavePciStream::TerminatePacket

キャプチャ データが部分的にのみ格納されている場合でも、I/O パケットを終了します。 I/O パケットは、特定のマッピング IRP に関連付けられているすべてのマッピングで構成されるオーディオ バッファーの一部です。

WavePci ポートとミニポート オブジェクトは、それぞれの IPortWavePci インターフェイスと IMiniportWavePci インターフェイスを介して相互に通信します。 さらに、WavePci ポートとミニポート ストリーム オブジェクトは、それぞれの IPortWavePciStream インターフェイスと IMiniportWavePciStream インターフェイスを介して相互に通信します。