UAA 互換ではないオーディオ デバイスには、ベンダーが提供するカスタム ドライバーが必要です。 さらに、UAA と互換性のあるオーディオ アダプターには、UAA クラス ドライバーでサポートされていない独自の機能を組み込むことができます。これらの機能は、ベンダーがカスタム オーディオ ドライバーを提供する場合にのみ、アプリケーションからアクセスできます。 システム提供の UAA ドライバーを介してアクセスできるのは、標準の UAA 機能のみです。 UAA でサポートされる機能の詳細については、 ユニバーサル オーディオ アーキテクチャ のホワイト ペーパーを参照してください。
カスタム オーディオ ドライバーを作成するハードウェア ベンダーは、PortCls システム ドライバー (Portcls.sys) で使用するカスタム オーディオ アダプター ドライバーを開発するか、AVStream クラス システム ドライバー (Ks.sys) で使用するカスタム ミニドライバーを開発するオプションの 2 つを使用できます。
オーディオ アダプターのほとんどのカスタム ドライバーは、オペレーティング システムの一部として提供される PortCls を使用します。 PortCls システム ドライバー (Portcls.sys) には、カスタム オーディオ ドライバーの作成タスクを簡単にする組み込みのオーディオ ドライバー インフラストラクチャが含まれています。 PortCls は複数のポート ドライバーを実装します。各ポート ドライバーは、特定の種類のウェーブ、MIDI、またはミキサー デバイスの汎用機能を管理するために特化されています。 オーディオ アダプターのオーディオ機能を管理するポート ドライバーの適切なセットを選択した後、ベンダーは、選択したポート ドライバーと連携して動作し、オーディオ デバイスのハードウェアに依存する機能を制御するミニポート ドライバーの補完的なセットを開発します。
ベンダーは、カスタム AVStream クラス ミニドライバーを開発することによってオーディオ デバイスをサポートすることもできます。 ミニドライバーは、オペレーティング システムの一部として提供される AVStream クラス システム ドライバーと連携して動作します。 AVStream ドライバーの実装は、PortCls を使用するよりも困難ですが、オーディオとビデオを統合するデバイスに適している可能性があります。 AVStream ドライバーは、システム提供の USBAudio または AVCAudio クラス システム ドライバーの要件に準拠できない既存の USB または IEEE 1394 オーディオ デバイスにも必要な場合があります。
ベンダーが提供するカスタム ドライバーを必要とするほぼすべての PCI オーディオ アダプターの場合、ベンダーは PortCls を選択する必要があります。
AVStream クラス システム ドライバー (Ks.sys) には、PortCls に存在するオーディオ固有のサポート関数のほとんどが不足しています。
PortCls の詳細については、「 ポート クラスの概要」を参照してください。 AVStream の詳細については、「 AVStream の概要」を参照してください。