仮想オーディオ デバイスは、オーディオ コンテンツをレンダリングおよびキャプチャするフィルター グラフを表します。 システム オーディオ ドライバー (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 つのフィルターとして処理できるため、フィルター間通信などのグラフ管理の複雑さを回避できます。