Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
[Функция, связанная с этой страницей, пакет SDK для Windows Media 11, является устаревшей функцией. Он был заменен средства чтения источника и записи приемника. средства чтения источников и записи приемника оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать новый код средства чтения исходного кода и записи приемников вместо пакета SDK для Windows Media 11, когда это возможно. Корпорация Майкрософт предлагает, что существующий код, использующий устаревшие API, будет перезаписан для использования новых API, если это возможно.]
Чтобы убедиться, что трансшифровка разрешена и инициализировать объект, который расшифровывает содержимое, выполните следующие действия.
- Если у вас уже есть идентификатор ключа для содержимого, перейдите к шагу 5.
- Вызовите функцию WMCreateEditor, чтобы создать объект редактора метаданных и получить экземпляр интерфейса IWMMetadataEdit or.
- Вызовите IWMMetadataEditor::QueryInterface, чтобы получить экземпляр интерфейса IWMDRMEditor.
- Вызовите IWMDRMEditor::GetDRMProperty, чтобы получить свойство DRM_DRMHeader_KeyID.
- Инициализировать расширенные API-интерфейсы клиента DRM Windows Media, вызвав функциюWMDRMStartup.
- Вызовите функцию WMDRMCreateProtectedProvider, чтобы создать объект поставщика безопасности и получить экземпляр интерфейса IWMDRMProvid er.
- Вызовите IWMDRMProvider::CreateObject, чтобы создать объект управления лицензиями и получить экземпляр своего интерфейса IWMDRMLicenseManagement.
- Вызовите IWMDRMLicenseManagement::CreateLicenseEnumeration, передавая идентификатор ключа и право, которое управляет действиями, выполняемыми с содержимым после его трансшифровки. Этот вызов получит экземпляр интерфейса IWMDRMLicense, который можно использовать для перечисления с помощью любых соответствующих лицензий.
- Вызовите IWMDRMLicense::GetInclusionList, чтобы получить список авторизованных систем защиты содержимого (CPS), как указано издателем лицензии.
- Проверьте список включения, чтобы убедиться, что ИДЕНТИФИКАТОР GUID выходного CPS разрешен лицензией.
- Если требуемый GUID экспорта отсутствует в списке включения, вызовите IWMDRMLicense::GetNext, чтобы получить следующую соответствующую лицензию (если таковые есть) и повторите шаги 9 и 10. Если лицензия не имеет требуемого GUID в списке включения, экспорт не может быть выполнен.
- Вызовите IWMDRMLicense::CreateSecureDecryptor для создания объекта расшифровки. Передайте сертификат приложения экспорта. Этот вызов предоставит указатель на экземпляр интерфейса IWMDRMDecrypt объекта расшифров ки и двоичного объекта, содержащего начальное значение. Только константа Windows Media DRM_PROTECTION_TYPE_RC4 поддерживается в качестве аргумента для параметра dwFlags в настоящее время.
- Используйте схему шифрования RSA OAEP для расшифровки вектора инициализации.
- Используйте библиотеку синтаксического анализа ASF, предоставляемую корпорацией Майкрософт при вводе в соглашение экспорта DRM Windows Media, чтобы найти смещение в байтах для каждой полезных данных.
Связанные разделы