WaveRT ミニポート ドライバー
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
オーディオ ストリームのトランスポート状態を変更します。