DRM の要件

このセクションでは、Microsoft Windows Hardware Quality Lab (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 コンバーターで capture マルチプレクサーを無効にし、それ以外の場合はデジタルコンテンツのループバックを防止する必要があります。

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

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

DRM 準拠テストを渡すだけでなく、オーディオデバイスとドライバーでは、カーネル内の DRM コンポーネントを無効にしたり、管理したりする操作のモードをユーザーが選択できないようにする必要があります。 具体的には、ドライバーは、レジストリ設定、ユーザーコントロールパネル、または DRM 機能を無効にするその他の手段を提供してはなりません。