Windowsオーディオドライバーは、デフォルトのWindowsドライバーの上に座って出力を投稿することができますか?
質問
ドライバーを書いて別のドライバーの上に座って、より低いドライバーの出力を取り、プロセスを投稿することは可能ですか?
ボリュームレベルが常に一定であることを確認するために、ドライバーを書きたかったのです。私の頭の中で、このドライバーはオーディオカードドライバーの上にサイトをサイトに配置し、OSに戻ってスピーカーに送信する前に出力を処理します。
私はミニポート女史について読んだが、これはいくつかの基本的な保証されたエクスポージャーを提供しているようだ。
一定のボリュームレベルの実装は、この質問で私が本当に心配していることではありません。私は、より良い言葉がないために「フィルター」ドライバーを書くことさえ可能かどうか疑問に思っています。
編集: わかりました、私はこれを最初にグーグルではないという罪を犯します。実際にはフィルタードライバーと呼ばれていることがわかります。私はこれで完全にnoobになるので、どんな良い方向やテキストが大歓迎されます。
解決
Windows Vistaなどの場合、このようなオーディオドライバーを書くのは非常に困難です。これは、Windows Vistaオーディオデバイスが主にI/Oメカニズムを使用しているためです。オーディオドライバーがDMAバッファーをオーディオサブシステムまたはアプリケーションに直接露出させるからです。そのため、オーディオエンジンはオーディオアダプターのDMAバッファーに直接書き込み、フィルタードライバーがオーディオソリューションに送信されているサンプルを検査する機会はありません。
VistaおよびBeyondの場合、SAPOがオーディオサンプルの検査と変更を可能にするドライバーパッケージに伴う処理要素であるSAPOで同じ結果を達成できます。