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


Перечисление лицензий в локальном хранилище лицензий

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

Перечисление — это процесс получения сведений о лицензиях в локальном хранилище лицензий путем их пошагового выполнения по одному. Вы можете создать перечисление лицензий, вызвав IWMDRMLicenseManagement::CreateLicenseEnumeration.

Наиболее распространенной причиной перечисления лицензий в магазине является поиск определенной лицензии для расшифровки некоторого содержимого.

Интерфейс IWMDRMLicense служит как порталом для отдельных результатов лицензии, так и в качестве перечислителя. При создании перечисления лицензий первая лицензия в списке загружается в интерфейс IWMDRMLicense . Большинство методов IWMDRMLicense позволяют получать сведения о лицензии или создавать объекты для шифрования или расшифровки содержимого на основе лицензии. Однако перечисление управляется двумя методами: GetNext и ResetEnumeration. GetNext загружает следующую лицензию из списка в интерфейс . ResetEnumeration возвращает перечисление в состояние, в которое оно находилось на момент его создания. При сбросе перечисления первая лицензия в списке загружается обратно в интерфейс IWMDRMLicense .

Когда вы достигнете последней лицензии в списке, следующий вызов GetNext возвращает ERROR_NO_MORE_ITEMS.

Если приложение выполняет действие с содержимым, на которое распространяется DRM, следует проверка лицензии в локальном хранилище лицензий для прав и других ограничивающих факторов, таких как уровни защиты выходных данных (OPL).

Получение сведений из лицензий в локальном хранилище лицензий