| Предыдущий | Следующий |
| NS_E_DRM_UNABLE_TO_CREATE_INDI_OBJECT | NS_E_DRM_UNABLE_TO_CREATE_DECRYPT_OBJECT |
NS_E_DRM_UNABLE_TO_CREATE_ENCRYPT_OBJECT
Точное условие DRM
0xC00D2732 соответствует NS_E_DRM_UNABLE_TO_CREATE_ENCRYPT_OBJECT. Рассматривайте его как результат обработки заголовка защищённого содержимого, ключей и криптографических данных: среда DRM не может создать объект шифрования, необходимый для этой операции. Сохранение точной границы «ошибка создания объекта шифрования» для NS_E_DRM_UNABLE_TO_CREATE_ENCRYPT_OBJECT не позволяет более позднему сообщению воспроизведения скрыть исходную ошибку DRM при диагностике невозможности создать объект шифрования.
Для NS_E_DRM_UNABLE_TO_CREATE_ENCRYPT_OBJECT, встроенное сообщение кратко описывает видимый пользователю результат, а символьная фраза «невозможно создать объект шифрования» сохраняет точную границу WMDRM для диагностики. Для этого кода подтверждением служит фиксация вызова фабрики или интерфейса, версий среды выполнения и stub-библиотеки, состояния внешнего объекта и первого внутреннего HRESULT в рабочем процессе создания объекта шифрования.
Место в рабочем процессе DRM
Контекст NS_E_DRM_UNABLE_TO_CREATE_ENCRYPT_OBJECT важен: повреждённый заголовок содержимого, недопустимый XML-документ лицензии и ошибка расшифрования возникают на разных границах и требуют замены разных артефактов для этого результата невозможности создать объект шифрования. Кроме того, в материалах поддержки защищённое содержимое следует идентифицировать хешами и KID; ключи содержимого и полные блоки лицензий раскрывать не следует при воспроизведении невозможности создать объект шифрования.
Полезный порядок расследования
- Сохраните
NS_E_DRM_UNABLE_TO_CREATE_ENCRYPT_OBJECT, вызывающий интерфейс и первый низкоуровневый статус до его замены оболочкой в рабочем процессе невозможности создать объект шифрования. - Сопоставьте
NS_E_DRM_UNABLE_TO_CREATE_ENCRYPT_OBJECTс одним KID или идентификатором лицензии, хешем содержимого, сертификатом устройства либо идентификатором операции миграции для пути «ошибка создания объекта шифрования». - Для
NS_E_DRM_UNABLE_TO_CREATE_ENCRYPT_OBJECT, восстановите переход состояния непосредственно перед «ошибка создания объекта шифрования», а не начинайте с итогового диалога проигрывателя. - Подтвердите границу, убедившись, что можно зафиксировать фабричный или интерфейсный вызов, версии среды выполнения и stub-библиотеки, состояние внешнего объекта и первый внутренний HRESULT на пути невозможности создать объект шифрования.
- После исправления компонента, версии или состояния инициализации и создания нового объекта шифрования проверьте и запрошенное право, и итоговое состояние хранилища или устройства при трассировке невозможности создать объект шифрования.
Состояние, которое следует сохранить до повтора
Зафиксируйте первое появление NS_E_DRM_UNABLE_TO_CREATE_ENCRYPT_OBJECT появление до того, как автоматический повтор, завершение проигрывателя, восстановление хранилища или повторное получение лицензии изменят состояние, на пути ошибки создания объекта шифрования. Минимальный полезный набор данных включает:
- Подтверждение для этого кода: зафиксировать вызов фабрики или интерфейса, версии среды выполнения и stub-библиотеки, состояние внешнего объекта и первый внутренний HRESULT при трассировке ошибки создания объекта шифрования.
- Защищённая идентичность: смещение первого сбойного образца, а не только сообщение уровня проигрывателя, в инциденте с невозможностью создать объект шифрования.
- Состояние операции: байты заголовка ASF/DRM и заявленную версию для этого результата невозможности создать объект шифрования.
- Хранилище или транспорт: KID, идентификатор лицензии и результат выбора ключа при воспроизведении невозможности создать объект шифрования.
- Контекст безопасности: алгоритм, длину ключа и тип объекта кодирования в рабочем процессе невозможности создать объект шифрования.
- Точка корреляции: состояние проверки подписи или сертификата на пути невозможности создать объект шифрования.
При расследовании ошибки «невозможно создать объект шифрования» по возможности используйте KID, идентификаторы лицензий, хеши, отпечатки сертификатов, размеры и временные метки. При диагностике NS_E_DRM_UNABLE_TO_CREATE_ENCRYPT_OBJECT, не помещайте ключи содержимого, полные блоки лицензий, пароли, cookie или расшифрованные медиаданные в обычные журналы в рабочем процессе создания объекта шифрования.
Узко направленное исправление
Устраняйте NS_E_DRM_UNABLE_TO_CREATE_ENCRYPT_OBJECT на формирующей границе: исправьте компонент, версию или состояние инициализации и создайте новый объект шифрования при воспроизведении невозможности создать объект шифрования. Для NS_E_DRM_UNABLE_TO_CREATE_ENCRYPT_OBJECT, переустановка проигрывателя, перезагрузка или новый запрос лицензии полезны только тогда, когда изменяют границу «ошибка создания объекта шифрования» и это можно подтвердить исходными доказательствами.
Показательный случай: Приложение доходит до этапа создания объекта шифрования, но создание объекта завершается неудачей до начала какой-либо работы с содержимым или сервером, для результата ошибки создания объекта шифрования.
Соседние результаты с другим смыслом
| Результат | Другая граница |
|---|---|
NS_E_DRM_UNABLE_TO_CREATE_DECRYPT_OBJECT | Среда DRM не может создать объект шифрования, необходимый для этой операции, на пути ошибка создания объекта шифрования. |
NS_E_DRM_GET_CONTENTSTRING_ERROR | Клиент не может получить строку или данные заголовка DRM из медиаобъекта при трассировке невозможности создать объект шифрования. |
NS_E_DRM_LICENSE_INVALID_XML | Лицензия повреждена для границы невозможности создать объект шифрования. Получите новую лицензию при диагностике невозможности создать объект шифрования. |
Несколько значений могут сопровождать условие «невозможно создать объект шифрования» в одном инциденте. Упорядочьте NS_E_DRM_UNABLE_TO_CREATE_ENCRYPT_OBJECT цепочку событий по времени и отдавайте приоритет первому коду, сформированному на самой низкой конкретной границе, а не более поздней сводке проигрывателя, в рабочем процессе создания объекта шифрования.
Проверка после исправления
Повторите операцию, первоначально вернувшую NS_E_DRM_UNABLE_TO_CREATE_ENCRYPT_OBJECT. Для NS_E_DRM_UNABLE_TO_CREATE_ENCRYPT_OBJECT, зафиксируйте точный HRESULT в формирующем API в тесте с ошибкой «ошибка создания объекта шифрования»; затем измените только решающее предусловие и подтвердите, что исправленный запуск завершается без подмены соседним результатом DRM. После исправления NS_E_DRM_UNABLE_TO_CREATE_ENCRYPT_OBJECT, проверьте запрошенное действие и итоговое состояние хранилища лицензий, защищённых часов, устройства или миграции, относящееся к «ошибка создания объекта шифрования».
За что отвечал бы отсутствующий объект
для значения NS_E_DRM_UNABLE_TO_CREATE_ENCRYPT_OBJECT объект шифрования обычно применяет настроенную защиту DRM к выходным образцам или содержимому в реальном времени для этого результата невозможности создать объект шифрования. Сбой создания объекта происходит до передачи этой ответственности рабочему интерфейсу, поэтому более поздние сообщения проигрывателя или сервера вторичны при воспроизведении невозможности создать объект шифрования.
Именно для этого объекта сохраните заголовок содержимого, KID, алгоритм и первый образец, переданный на шифрование, в рабочем процессе невозможности создать объект шифрования. Успешное исправление должно позволить создать новый объект шифрования и выполнить его первую реальную операцию, а не только заставить фабричный вызов вернуть другую общую ошибку на пути невозможности создать объект шифрования.
Технические ссылки
- Обзор Windows Media DRM — документация платформы, используемая для отличия
NS_E_DRM_UNABLE_TO_CREATE_ENCRYPT_OBJECTот соседних результатов. - Защита DRM и распространение лицензий — официальный контекст Windows Media DRM для
NS_E_DRM_UNABLE_TO_CREATE_ENCRYPT_OBJECT. - Версии DRM — правила API и состояния, относящиеся к границе
NS_E_DRM_UNABLE_TO_CREATE_ENCRYPT_OBJECT. - Коды ошибок Windows Media DRM — документация платформы, используемая для отличия
NS_E_DRM_UNABLE_TO_CREATE_ENCRYPT_OBJECTот соседних результатов.
Нужно найти другой код? Найти другой код состояния или ошибки.