DRM の要件

このセクションでは、オーディオ ミニポート ドライバーが、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 テストの必須項目です。 "Designed for Windows XP" ロゴの資格を得るためには、ドライバーは、DRM コンプライアンス テストに合格する必要があります。

DRM コンプライアンス テストでは、信頼できるオーディオ ドライバーが次に従っている必要があります。

  • オーディオ ミニポート ドライバーは、IID_IDrmAudioStream が照会された場合に IDrmAudioStream 型のオブジェクトを返す必要があるストリーム オブジェクトに、IDrmAudioStream インターフェイスを実装する必要があります。

  • コピー防止が要求されたとき (DRMRIGHTS.CopyProtect = TRUE)、オーディオ ドライバーは、現在再生されているストリームをキャプチャする機能を無効にする必要があります。 つまり、ドライバーが、ハード ディスク、EEPROM、メモリ カード、メモリ スティックなど、保護されていないデジタル コンテンツを任意の形式の不揮発性ストレージに保存しないようにしなければなりません。 また、ドライバーは、出力 D/A コンバーターでキャプチャ マルチプレクサーを無効にし、それ以外の場合ではデジタル コンテンツのループバックを防止する必要があります。

  • オーディオ ドライバーがデバイスのデジタル オーディオ出力を無効にするように求められた場合 (DRMRIGHTS.DigitalOutputDisable = TRUE)、標準の相互接続スキームを介して標準インターフェイス経由でコンテンツを送信できる、すべてのデジタル オーディオ出力を無効にする必要があります。 デジタル出力には、S/PDIF、IEEE 1394、並列、シリアル、モデム、およびネットワーク ポートが含まれますが、これらに厳密に限定されるものではありません。 (この要件は、現在のところ USB には適用されません。)

  • セキュリティで保護されたコンテンツを処理する場合に、オーディオ ドライバーが信頼されていないドライバーをスタックにアタッチしないようにする必要があります。 言い換えると、オーディオ ドライバーは、DRM 署名が含まれる他のコンポーネントのみを信頼する必要があります。 ドライバーは、DRM 署名のないコンポーネントへのオーディオ データの転送を容易に行ってはなりません。 特に、ドライバーがデジタル コンテンツを別のコンポーネントに渡す場合は、ドライバーはこの事実を、カーネル内の DRM API を使用して、DRMK システム ドライバーに通知する必要があります。

DRM コンプライアンス テストに合格するだけでなく、オーディオ デバイスとドライバーでは、ユーザーがカーネル内の DRM コンポーネントを無効化したり破壊したりする操作モードを選択できないようにする必要があります。 具体的には、ドライバーが、レジストリ設定、ユーザー コントロール パネル、または DRM 関数を無効にするその他の方法を提供しないようにする必要があります。