Автоматическое приобретение лицензий
[Функция, связанная с этой страницей, Windows Media Format 11 SDK, является устаревшей функцией. Он был заменен средством чтения исходного кода и модуля записи приемника. Средство чтения исходного кода и модуль записи приемника оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код по возможности использовал средство чтения исходного кода и модуль записи приемника вместо пакета SDK для Windows Media Format 11. Корпорация Майкрософт предлагает переписать существующий код, в котором используются устаревшие API, чтобы по возможности использовать новые API.]
Для автоматического получения лицензии требуется только один вызов метода, который асинхронно обрабатывает все сетевые подключения с сервером лицензирования.
Этот тип получения лицензии обычно используется в качестве ответа на попытку пользователя получить доступ к защищенному содержимому, например, пытается воспроизвести защищенный файл в приложении проигрывателя мультимедиа. Так как автоматическое получение лицензии получает лицензию одним вызовом, ее нельзя использовать, если требуется дополнительный ввод от пользователя, например оплата за содержимое.
Чтобы выполнить автоматическое получение лицензии, выполните следующие действия.
- Вызовите метод IWMDRMLicenseManagement::AcquireLicense . Передайте заголовок DRM из защищенного файла в качестве параметра bstrHeaderData . Укажите права, которые вы хотите предоставить лицензии, в параметре bstrActions . Наконец, задайте для параметра dwFlags значение WMDRM_ACQUIRE_LICENSE_SILENT.
- Перехват событий для интерфейса IWMDRMLicenseManagement . При получении события MEWMDRMLicenseAcquisitionCompleted проверка его код возврата, вызвав метод IMFMediaEvent::GetStatus, который описан в документации Media Foundation. Если полученное значение HRESULT является кодом успешного выполнения, лицензия была успешно скачана и находится в локальном хранилище лицензий, готовом к использованию.
Связанные темы