大事な WavePci の使用は推奨されなくなりました。代わりに WaverRT を使用してください。
WavePci ミニポート ドライバーは、物理メモリ内の任意の場所との間でオーディオ データを転送できる分散/収集 DMA ハードウェアを持つウェーブ レンダリングまたはウェーブ キャプチャ デバイスのハードウェア依存機能を管理します。 分散/収集転送を実行する機能がない、または物理メモリ内の制限された領域にのみアクセスできるウェーブ デバイスでは、代わりに WaveCyclic ミニポート ドライバー を使用する必要があります。
WavePci ミニポート ドライバーは、次の 2 つのインターフェイスを実装する必要があります。
ミニポート インターフェイスは 、ミニポート ドライバーの初期化、チャネル列挙、およびストリームの作成を実行します。
ストリーム インターフェイスは 、ウェーブ ストリームを管理し、ミニポート ドライバーの機能のほとんどを公開します。
ミニポート インターフェイス IMiniportWavePci は、 IMiniport インターフェイスのメソッドを継承します。 IMiniportWavePci には、次の追加メソッドが用意されています。
ミニポート オブジェクトを初期化します。
新しいストリーム オブジェクトを作成します。
ミニポート ドライバーにサービスの要求を通知します。
ストリーム インターフェイス IMiniportWavePciStream は、 IUnknown インターフェイスからメソッドを継承します。 IMiniportWavePciStream には、次の追加メソッドが用意されています。
IMiniportWavePciStream::GetAllocatorFraming
ミニポート ドライバーが推奨するアロケーター フレーミング パラメーターをウェーブ ストリーム用に取得します。
IMiniportWavePciStream::GetPosition
ウェーブ ストリーム内のデバイスの現在位置を取得します。
IMiniportWavePciStream::MappingAvailable
ポート ドライバーから新しいマッピングが使用可能であることを示します。
IMiniportWavePciStream::NormalizePhysicalPosition
物理バッファー位置の値を時間ベースの値に変換します。
IMiniportWavePciStream::RevokeMappings
以前に発行されたマッピングを取り消します。
IMiniportWavePciStream::Service
サービスの要求をストリーム オブジェクトに通知します。
IMiniportWavePciStream::SetFormat
ウェーブ ストリームのデータ形式を設定します。
IMiniportWavePciStream::SetState
ウェーブ ストリームの状態を設定します。