アダプター ドライバーの構築
特定のオーディオ アダプター カードのドライバー サポートは、アダプター ドライバーの形式をとります。 アダプター ドライバーは、次の要素で構成されます。
ドライバーの起動と初期化を実行し、アダプター カード上のすべてのオーディオ関数に共通する操作を実装する一般的なアダプター コード。
アダプター カードで特定のオーディオ関数を管理するミニポート ドライバーのセット。
ハードウェア ベンダーは、一般的なアダプター コードと、システムが提供しないミニポート ドライバーのコードの両方を提供します。
一般的なアダプター コードの例としては、Sysvad サンプル ドライバーの CAdapterCommon CAdapterCommon インターフェイスの実装を参照してください (サンプル オーディオ ドライバーで説明)。
ベンダーは、階層化されたアプローチを使用して、アダプターのハードウェア機能に応じて、いくつかのレベルのいずれかで動作するアダプター ドライバーを記述できます。 あるハードウェア機能が必要とするサポートのレベルを決定する場合、ベンダーはまず、その機能をサポートするシステム提供のミニポート ドライバーが既に存在するかどうかを判断する必要があります (PcNewMiniport 関数のシステム提供のミニポート ドライバーのリストを参照してください)。 そうでない場合、ベンダーは独自のミニポート ドライバーを実装しなければなりませんが、システムが提供するポート ドライバーの 1 つを使用できるかもしれません (PcNewPort 関数のシステム提供ポート ドライバーのリストを参照してください)。
デバイスの WDM サポートを実装するには、次の手順に従います。
システム提供のミニポート ドライバーが既にハードウェア機能をサポートしている場合は、既存のミニポート ドライバーを使用して関数を管理します。
ハードウェア機能がシステム提供のミニポートドライバーと互換性がない場合は、その機能がシステム提供のポートドライバーの少なくとも 1 つと互換性があるかどうかを判断します。 システム提供のポート ドライバーがハードウェア機能をサポートしている場合は、関数を管理するミニポート ドライバーの部分を記述します。 そのミニポート ドライバーは、所有ポート ドライバーが期待するミニポート インターフェイスの仕様に準拠する必要があります。
システム提供のポート ドライバーがハードウェア機能をサポートしていない場合は、その機能をサポートするミニドライバーを記述します。 ミニドライバーは、ストリーミング クラス ドライバーのインターフェイス仕様に準拠している必要があります。
このセクションでは、次のトピックについて説明します。