2010-12-06 4 views
2

他のドライバの上に座って、下のドライバの出力を取り込んで処理するドライバを書くことは可能ですか?Windowsのオーディオドライバは、デフォルトのWindowsドライバの上に座って、その出力を後処理できますか?

音量レベルが常に一定であることを確認するためにドライバを書きたいと思っていました。 私の頭では、このドライバはオーディオカードドライバの上に設置され、スピーカに送るためにOSに戻す前に出力をポストします。

私はMSミニポートについて読みましたが、これは基本的な保証されたエクスポージャーを提供するようです。

一定の音量レベルの実装は、私がこの質問で本当に心配しているものではありません。私はいくつかのサウンド後処理を行うことができるように、より良い言葉の欠如のための 'フィルタ'ドライバを書くことさえ可能かどうか疑問に思っています。

編集: OK、私はこの最初のグーグルではないと罪を犯しています。実際には、私はバカのように見えるフィルタドライバと呼ばれています。私はこれで全部の騒ぎになるだろうから、どんな良い方向やテキストも高く評価されるだろう。

答えて

2

Windows Vista以降では、このようなオーディオドライバを作成するのは非常に難しい作業です。これは、Windows Vistaのオーディオデバイスでは、主にオーディオドライバがDMAバッファをオーディオサブシステムまたはアプリケーションに直接公開するI/Oメカニズムを使用するためです。したがって、オーディオエンジンはオーディオアダプタのDMAバッファに直接書き込みを行い、フィルタドライバがオーディオソリューションに送信されるサンプルを検査する機会はありません。

Vista以上では、sAPOがオーディオサンプルを検査および変更できるようにするドライバパッケージに付随する処理要素であるsAPOを使用して同じ結果を得ることができます。

関連する問題