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


Обработка событий индивидуализации

[Функция, связанная с этой страницей, Windows Media Format 11 SDK, является устаревшей функцией. Она была заменена средствами чтения источника и модуля записи приемников. Средство чтения источника и модуль записи приемников оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать в новом коде средство чтения исходного кода и модуль записи приемников вместо пакета SDK для Windows Media Format 11, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]

Когда приложение с поддержкой DRM пытается открыть защищенный файл, компонент DRM проверяет атрибут DRM_DRMHeader_IndividualizedVersion в файле, который задает минимальный уровень версии, необходимый для доступа к содержимому. Все уровни компонента DRM работают со всеми версиями 7.0 и более поздних версий Медиаплеер Windows и пакета SDK для формата Windows Media. Если уровень индивидуальной версии компонента DRM ниже требуемой версии, компонент DRM отправляет событие WMT_NEEDS_INDIVIDUALIZATION в метод IWMStatusCallback::OnStatus приложения. Затем приложение должно отобразить сообщение или диалоговое окно с запросом на запуск или отмену обновления системы безопасности. Этот запрос необходим, так как по соображениям конфиденциальности пользователи должны предоставить свое разрешение перед установкой обновления системы безопасности на своем компьютере.

Примечание

Заголовок содержимого указывает только первые две цифры для DRM_DRMVersion_IndividualizedVersion. Другими словами, чтобы требовать компонент DRM уровня 2.2.0.1, заголовок будет содержать "2.2".

 

Чтобы запустить обновление системы безопасности и (или) активировать индивидуализацию, вызовите метод IWMDRMReader::Individualize с параметром dwFlags , равным 1.

В приложении необходимо обработать событие WMT_INDIVIDUALIZE . Это событие будет вызвано компонентом DRM несколько раз с состоянием процесса индивидуализации, указанным в параметре pValue , который приводится к указателю на структуру WM_INDIVIDUALIZE_STATUS .

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

Примечание

DRM не поддерживается в 64-разрядной версии этого пакета SDK.

 

Обработка событий приобретения лицензий

Индивидуализация приложений DRM

Интерфейс IWMDRMReader