Структура 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 | Выключено |
Если драйвер поддерживает DRMRIGHTS, а также реализует собственный механизм защиты от копирования, драйвер должен агрегировать результат собственной реализации со значениями CopyProtect и DigitalOutputDisable , чтобы определить окончательное состояние защиты от копирования. Окончательное состояние защиты от копирования должно быть самым строгим из всех невыполненных запросов на защиту от копирования.
Макрос DEFINE_DRMRIGHTS_DEFAULT определяет константную структуру DRMRIGHTS , которая задает права на содержимое DRM по умолчанию.
VOID DEFINE_DRMRIGHTS_DEFAULT(
DRMRIGHTS DrmRights
);
Параметры
DrmRights
DRMRIGHTS
Задает имя для константной структуры DRMRIGHTS. Макрос задает членам DrmRights следующие значения по умолчанию:
Возвращаемое значение
VOID
Этот макрос не возвращает значение.
Требования
Требование | Значение |
---|---|
Заголовок | drmk.h (включая Drmk.h) |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по