仮想オーディオ デバイス
仮想オーディオ デバイスは、オーディオ コンテンツをレンダリングおよびキャプチャするフィルター グラフを表します。 システム オーディオ ドライバー (SysAudio) は、使用可能なハードウェア コンポーネントとソフトウェア コンポーネントを使用して、ビルドするフィルター グラフを決定します。
システム オーディオ ドライバーの詳細については、SysAudio システム ドライバーを参照してください。
SysAudio のクライアントには、DirectSound と WDMAud システム ドライバーが含まれており、WDM オーディオ ドライバーとオーディオ固有の Microsoft Windows マルチメディア API waveIn、waveOut、midiIn、midiOut、mixer、aux (Microsoft Windows SDK ドキュメントで説明) との間のインターフェイスとして機能します。
Windows Driver Kit (WDK) の KsStudio ユーティリティは、SysAudio をバイパスし、ユーザーがフィルター グラフを手動で作成できるようにするアプリケーションの例です。
PnP デバイスの列挙に続いて、SysAudio は、クライアントが必要とする可能性のあるさまざまなオーディオ フィルター グラフを構築する方法を決定するために、登録されているオーディオ ハードウェアとソフトウェア コンポーネントを取得します。
SysAudio は、使用可能なハードウェア コンポーネントとソフトウェア コンポーネントから構築できるフィルター グラフの一覧を決定した後、これらのグラフを再生、録音、MIDI 入力/出力、およびミキシング用の仮想オーディオ デバイスとして登録します。 SysAudio は、レジストリ カテゴリ KSCATEGORY_AUDIO_DEVICE を仮想オーディオ デバイス専用に予約します。 アダプター ドライバーは、このカテゴリに登録しないでください。
SysAudio クライアントは、仮想オーディオ デバイスのフィルター ファクトリを、ハードウェアまたはソフトウェア コンポーネントのフィルター ファクトリと同様に扱うことができます。 クライアントから仮想デバイス上の特定のピンをインスタンス化するように求められると、SysAudio はグラフを自動的に構築し、グラフの内部ピン接続をクライアントに対して透過的に管理します。 これにより、クライアントはフィルター グラフを 1 つのフィルターとして扱うことができるため、フィルター間通信などのグラフ管理の複雑さを回避できます。