このセクションでは、オーディオ ミニポート ドライバーが Microsoft Windows ハードウェア品質ラボ (WHQL) による DRM コンプライアンス テストに合格するために満たす必要がある要件について説明します。 これらの要件は、特に WaveCyclic および WavePci オーディオ ミニポート ドライバーに適用されます。これは、ポート クラス ライブラリ (Portcls.sys) の WavePci および WaveCyclic ポート ドライバーに対応するハードウェア固有のドライバーです。 現在、DRM コンプライアンス テストは USB ドライバーでは使用できません。
Windows XP 以降では、信頼できるオーディオ ドライバーのみが DRM で保護されたコンテンツを再生できます。 Windows では、ドライバーの .cat (カタログ) ファイルに格納されている DRM 固有のデジタル署名を使用して、信頼されたドライバーを識別します。 MICROSOFT は、WHQL によって管理されるハードウェア互換性テストの一部として DRM コンプライアンス テストに合格するドライバーに対してのみ DRM 署名を発行します。
ただし、Windows XP 以降では、DRM コンプライアンス テストは WHQL テストに必要な部分です。 ドライバーは、"Windows XP 用に設計された" ロゴの資格を得るために DRM コンプライアンス テストに合格する必要があります。
DRM コンプライアンス テストでは、信頼できるオーディオ ドライバーで次の操作を行う必要があります。
オーディオ ミニポート ドライバーは、ストリーム オブジェクトに IDrmAudioStream インターフェイスを実装する必要があります。これは、IID_IDrmAudioStreamに対してクエリを実行した場合、IDrmAudioStream 型のオブジェクトを返す必要があります。
コピー保護が要求されたとき (DRMRIGHTS。CopyProtect = TRUE)、オーディオ ドライバーは、現在再生中のストリームをキャプチャする機能を無効にする必要があります。 つまり、ドライバーは保護されていないデジタル コンテンツを、ハード ディスク、EEPROM、メモリ カード、メモリ スティックを含む不揮発性ストレージの任意の形式に保存しないでください。 また、ドライバーは、出力 D/A コンバーターでキャプチャ マルチプレクサーを無効にし、それ以外の場合はデジタル コンテンツのループバックを防ぐ必要があります。
オーディオ ドライバーがデバイスのデジタル オーディオ出力を無効にするように求められた場合 (DRMRIGHTS。DigitalOutputDisable = TRUE) は、標準の相互接続スキームを介して標準インターフェイス経由でコンテンツを送信できるすべてのデジタル オーディオ出力を無効にする必要があります。 デジタル出力には、S/PDIF、IEEE 1394、並列、シリアル、モデム、およびネットワーク ポートが含まれますが、厳密には制限されません。 (現在、この要件は USB には適用されません)。
セキュリティで保護されたコンテンツを処理する場合、オーディオ ドライバーは信頼されていないドライバーをスタックにアタッチしないでください。 言い換えると、オーディオ ドライバーは、DRM 署名も含まれる他のコンポーネントにのみ依存する必要があります。 ドライバーは、DRM 署名のないコンポーネントへのオーディオ データの転送を容易にしてはなりません。 特に、ドライバーがデジタル コンテンツを別のコンポーネントに渡す場合、ドライバーはこの事実を DRMK システム ドライバー に通知するために、カーネル内の DRM API を使用する必要があります。
DRM コンプライアンス テストに合格するだけでなく、オーディオ デバイスとドライバーでは、カーネル内の DRM コンポーネントを無効または無効にする操作モードをユーザーが選択できないようにする必要があります。 具体的には、ドライバーは、レジストリ設定、ユーザー コントロール パネル、または DRM 関数を無効にするその他の方法を提供しないでください。