Структура DRMRIGHTS (drmk.h)

Структура DRMRIGHTS определяет права на содержимое DRM, назначенные звуковому контакту KS или объекту потока драйвера класса порта.

Синтаксис

typedef struct tagDRMRIGHTS {
  BOOL  CopyProtect;
  ULONG Reserved;
  BOOL  DigitalOutputDisable;
} DRMRIGHTS, *PDRMRIGHTS;

Члены

CopyProtect

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

TRUE

Включает защиту от копирования. Звуковое приложение не должно выполнять следующие действия:

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

Ложь.

Отключает защиту от копирования. Содержимое можно копировать без ограничений.

Дополнительные сведения о CopyProtect см. в разделе Примечания.

Reserved

Зарезервировано для последующего использования. Инициализируйте до нуля.

DigitalOutputDisable

Задает одно из следующих значений защиты цифровых выходных данных:

TRUE

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

Ложь.

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

Дополнительные сведения о DigitalOutputDisable см. в разделе Примечания.

Комментарии

Программа сертификации Windows предъявляет особые требования к тому, как аудиодрайвер обрабатывает значения CopyProtect и DigitalOutputDisable . Эти требования применяются, когда значения CopyProtect и DigitalOutputDisable применяются к звуковому потоку и к выходным данным, из которых осуществляется доступ к звуковому потоку. Новые требования для Windows 7 включают правильный способ программирования системы управления последовательным копированием (SCMS) для конечных точек S/PDIF и защиты цифрового содержимого с высокой пропускной способностью (HDCP) для конечных точек HDMI.

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

Логические элементы DRMRIGHTS Результирующая защита содержимого
DigitalOutputDisable CopyProtect HDMI и порт дисплея S/PDIF
Неверно Неверно Включен без HDCP Включен без SCMS
False True Включена с помощью HDCP Включена с помощью SCMS
True Не волнуйся Включена с помощью HDCP Выключено
 
Примечание Если драйвер не может правильно применить HDCP или SCMS, драйвер должен отключить вывод данных в конечную точку.
 
Когда аудиодрайвер применяет защиту копирования SCMS к конечной точке S/PDIF, звуковой драйвер использует сочетание битов L, Cp и Category Code для выбора состояния SCMS "Никогда не копировать". Дополнительные сведения о защите копирования цифрового содержимого см. в разделе IEC 60958 на веб-сайте IEC.

Если драйвер поддерживает DRMRIGHTS, а также реализует собственный механизм защиты от копирования, драйвер должен агрегировать результат собственной реализации со значениями CopyProtect и DigitalOutputDisable , чтобы определить окончательное состояние защиты от копирования. Окончательное состояние защиты от копирования должно быть самым строгим из всех невыполненных запросов на защиту от копирования.

Макрос DEFINE_DRMRIGHTS_DEFAULT определяет константную структуру DRMRIGHTS , которая задает права на содержимое DRM по умолчанию.

VOID DEFINE_DRMRIGHTS_DEFAULT(
   DRMRIGHTS DrmRights
);

Параметры

DrmRights

DRMRIGHTS

Задает имя для константной структуры DRMRIGHTS. Макрос задает членам DrmRights следующие значения по умолчанию:

Возвращаемое значение

VOID

Этот макрос не возвращает значение.

Требования

Требование Значение
Заголовок drmk.h (включая Drmk.h)

См. также раздел

DrmCreateContentMixed

DrmDeземияContent

DrmForwardContentToFileObject

DrmForwardContentToInterface

DrmGetContentRights

IEC 60958