WaveRT ミニポート ドライバーは、Windows Vista 以降の Windows オペレーティング システムでサポートされ、ウェーブ レンダリングまたはウェーブ キャプチャ オーディオ デバイスのハードウェアに依存する機能を管理します。 WaveRT 対応オーディオ デバイスには、物理メモリ内の任意の場所との間でオーディオ データを転送できる分散/収集 DMA ハードウェアがあります。
WaveRT ミニポート ドライバーは、次の 2 つのインターフェイスを実装する必要があります。
IMiniportWaveRT。 このインターフェイスは、ミニポート ドライバーの初期化、チャネル列挙、およびストリームの作成を実行します。
IMiniportWaveRTStream。 このインターフェイスは、ウェーブ ストリームを管理し、ミニポート ドライバーのほとんどの機能を公開します。
WaveRT ポート ドライバーを補完する WaveRT ミニポート ドライバーを設計する方法については、「 WaveRT ミニポート ドライバーの開発 」トピックを参照してください。
IMiniportWaveRT
IMiniportWaveRT インターフェイスには、次のメソッドがあります。
ミニポート オブジェクトを初期化します。
新しいストリーム オブジェクトを作成します。
IMiniportWaveRT::GetDeviceDescription
デバイスを記述する DEVICE_DESCRIPTION 構造体へのポインターを返します。
IMiniportWaveRTStream
IMiniportWaveRTStream インターフェイスは、IUnknown インターフェイスからメソッドを継承します。 IMiniportWaveRTStream には、次の追加メソッドが用意されています。
IMiniportWaveRTStream::AllocateAudioBuffer オーディオ データに循環バッファーを割り当てます。
IMiniportWaveRTStream::FreeAudioBuffer
IMiniportWaveRTStream::AllocateAudioBuffer の呼び出しで以前に割り当てられたオーディオ バッファーを解放します。
IMiniportWaveRTStream::GetClockRegister
ポート ドライバーがオーディオ サブシステムとそのクライアントにクロック レジスタを公開するために必要な情報を取得します。
IMiniportWaveRTStream::GetHWLatency
オーディオ ハードウェアのストリーム待機時間のソースに関する情報を取得します。
IMiniportWaveRTStream::GetPosition
バッファーの先頭からのバイト オフセットとして、現在の再生位置またはレコード位置を取得します。
IMiniportWaveRTStream::GetPositionRegister
ポート ドライバーがオーディオ サブシステムとそのクライアントに位置レジスタを公開するために必要な情報を取得します。
IMiniportWaveRTStream::SetFormat
ウェーブ ストリームのデータ形式を設定します。
IMiniportWaveRTStream::SetState
オーディオ ストリームのトランスポート状態を変更します。