Поделиться через


Требования к DRM

** В этом разделе приведены требования, которые драйвер аудиоминпорта должен выполнить для прохождения тестирования на соответствие DRM в Microsoft Windows Hardware Quality Lab (WHQL). Эти требования применяются специально к драйверам аудиопорта WaveCyclic и WavePci, которые являются аппаратными аналогами драйверов портов WavePci и WaveCyclic в библиотеке классов портов (Portcls.sys). Тестирование на соответствие DRM в настоящее время недоступно для USB-драйверов.

В Windows XP и более поздних версиях только доверенные звуковые драйверы могут воспроизводить содержимое, защищенное drM. Windows определяет доверенный драйвер с помощью цифровой подписи DRM, которая хранится в файлах cat (catalog) драйвера. Microsoft выдает подпись DRM только для драйвера, который проходит тест на соответствие DRM в рамках тестов совместимости оборудования, проводимых WHQL.

Однако для Windows XP и более поздних версий проверка соответствия DRM является обязательной частью тестирования WHQL. Чтобы претендовать на логотип "Designed for Windows XP", драйвер должен пройти тест на соответствие DRM.

Для проверки соответствия DRM требуется доверенный звуковой драйвер для выполнения следующих действий:

  • Драйвер аудиоминипорта должен реализовать интерфейс IDrmAudioStream в своих объектах потока, и при запросе IID_IDrmAudioStream он должен возвращать объект типа IDrmAudioStream.

  • При запросе защиты копирования (DRMRIGHTS).CopyProtect = TRUE), звуковой драйвер должен отключить возможность записи потока, воспроизводимого в данный момент. Это означает, что драйвер не должен сохранять незащищенное цифровое содержимое в любой форме нестандартного хранилища, которое включает жесткий диск, EEPROM, карточку памяти и палку памяти. Кроме того, драйвер должен отключить мультиплексер записи на выходном преобразователе D/A и в противном случае предотвратить цикл обратного ввода цифрового содержимого.

  • Когда звуковой драйвер запрашивается отключить цифровой звуковой выход на устройстве (DRMRIGHTS).DigitalOutputDisable = TRUE), он должен отключить все цифровые звуковые выходы, способные передавать содержимое через стандартный интерфейс через стандартную схему взаимодействия. К цифровым выходам относятся, но не ограничиваются только S/PDIF, IEEE 1394, параллельные, последовательные, модем, и сетевые интерфейсы. (Это требование в настоящее время не применяется к USB.)

  • При обработке защищенного содержимого звуковой драйвер никогда не должен подключать ненадежный драйвер к стеку. Другими словами, звуковой драйвер должен полагаться только на другие компоненты, которые также содержат подписи DRM. Драйвер никогда не должен допускать передачу звуковых данных ни в один компонент, который не имеет подписи DRM. В частности, если драйвер передает цифровое содержимое другому компоненту, драйвер должен использовать API DRM в ядре, чтобы сообщить системному драйверу DRMK об этом факте.

Помимо прохождения теста на соответствие DRM, звуковое устройство и драйвер не должны разрешать пользователю выбирать режим работы, который обходит или подрывает компоненты DRM в ядре. В частности, драйвер не должен предоставлять параметры реестра, панели управления пользователем или другие средства отключения функций DRM.