Site icon EfmSoft

Что означает код HRESULT 0xC00D275A (NS_E_DRM_UNABLE_TO_CREATE_CODING_OBJECT)?

 
Предыдущий Следующий
NS_E_DRM_LICENSE_NOTACQUIRED NS_E_DRM_UNABLE_TO_CREATE_STATE_DATA_OBJECT

NS_E_DRM_UNABLE_TO_CREATE_CODING_OBJECT

Точное условие DRM

0xC00D275A соответствует NS_E_DRM_UNABLE_TO_CREATE_CODING_OBJECT. Рассматривайте его как результат обработки заголовка защищённого содержимого, ключей и криптографических данных: среда DRM не может создать объект кодирования, необходимый для этой операции. Сохранение точной границы «ошибка создания объекта кодирования» для NS_E_DRM_UNABLE_TO_CREATE_CODING_OBJECT не позволяет более позднему сообщению воспроизведения скрыть исходную ошибку DRM в рабочем процессе ошибка создания объекта кодирования.

Для NS_E_DRM_UNABLE_TO_CREATE_CODING_OBJECT, встроенное сообщение кратко описывает видимый пользователю результат, а символьная фраза «невозможно создать объект кодирования» сохраняет точную границу WMDRM для диагностики. Для этого кода подтверждением служит фиксация вызова фабрики или интерфейса, версий среды выполнения и stub-библиотеки, состояния внешнего объекта и первого внутреннего HRESULT в рабочем процессе создания объекта кодирования.

Место в рабочем процессе DRM

Контекст NS_E_DRM_UNABLE_TO_CREATE_CODING_OBJECT важен: повреждённый заголовок содержимого, недопустимый XML-документ лицензии и ошибка расшифрования возникают на разных границах и требуют замены разных артефактов при трассировке невозможности создать объект кодирования. Кроме того, в материалах поддержки защищённое содержимое следует идентифицировать хешами и KID; ключи содержимого и полные блоки лицензий раскрывать не следует для границы невозможности создать объект кодирования.

Полезный порядок расследования

  1. Сохраните NS_E_DRM_UNABLE_TO_CREATE_CODING_OBJECT, вызывающий интерфейс и первый низкоуровневый статус до его замены оболочкой при диагностике ошибка создания объекта кодирования.
  2. Сопоставьте NS_E_DRM_UNABLE_TO_CREATE_CODING_OBJECT с одним KID или идентификатором лицензии, хешем содержимого, сертификатом устройства либо идентификатором операции миграции для пути «ошибка создания объекта кодирования».
  3. Для NS_E_DRM_UNABLE_TO_CREATE_CODING_OBJECT, восстановите переход состояния непосредственно перед «ошибка создания объекта кодирования», а не начинайте с итогового диалога проигрывателя.
  4. Подтвердите границу, убедившись, что можно зафиксировать вызов фабрики или интерфейса, версии среды выполнения и stub-библиотеки, состояние внешнего объекта и первый внутренний HRESULT в инциденте ошибка создания объекта кодирования.
  5. После устранения проблемы компонента, версии или состояния инициализации и создания нового объекта кодирования проверьте как запрошенное право, так и итоговое состояние хранилища или устройства для результата ошибка создания объекта кодирования.

Состояние, которое следует сохранить до повтора

Зафиксируйте первое появление NS_E_DRM_UNABLE_TO_CREATE_CODING_OBJECT появление до того, как автоматический повтор, завершение проигрывателя, восстановление хранилища или повторное получение лицензии изменят состояние, на пути ошибки создания объекта кодирования. Минимальный полезный набор данных включает:

При расследовании ошибки «невозможно создать объект кодирования» по возможности используйте KID, идентификаторы лицензий, хеши, отпечатки сертификатов, размеры и временные метки. При диагностике NS_E_DRM_UNABLE_TO_CREATE_CODING_OBJECT, не помещайте ключи содержимого, полные блоки лицензий, пароли, cookie или расшифрованные медиаданные в обычные журналы в рабочем процессе создания объекта кодирования.

Узко направленное исправление

Устраняйте NS_E_DRM_UNABLE_TO_CREATE_CODING_OBJECT на формирующей границе: устраните проблему компонента, версии или состояния инициализации и создайте новый объект кодирования для границы ошибка создания объекта кодирования. Для NS_E_DRM_UNABLE_TO_CREATE_CODING_OBJECT, переустановка проигрывателя, перезагрузка или новый запрос лицензии полезны только тогда, когда изменяют границу «ошибка создания объекта кодирования» и это можно подтвердить исходными доказательствами.

Показательный случай: Приложение доходит до этапа создания объекта кодирования, но создание объекта завершается неудачей до начала какой-либо работы с содержимым или сервером, для результата ошибки создания объекта кодирования.

Соседние результаты с другим смыслом

РезультатДругая граница
NS_E_DRM_UNABLE_TO_CREATE_KEYS_OBJECTСреда DRM не может создать объект кодирования, необходимый для этой операции, в инциденте ошибка создания объекта кодирования.
NS_E_DRM_UNABLE_TO_CREATE_HEADER_OBJECTСреда DRM не может создать объект кодирования, необходимый для этой операции, для результата ошибка создания объекта кодирования.
NS_E_DRM_INVALID_DATAОбнаружены недопустимые или повреждённые данные при воспроизведении невозможности создать объект кодирования.

Несколько значений могут сопровождать условие «невозможно создать объект кодирования» в одном инциденте. Упорядочьте NS_E_DRM_UNABLE_TO_CREATE_CODING_OBJECT цепочку событий по времени и отдавайте приоритет первому коду, сформированному на самой низкой конкретной границе, а не более поздней сводке проигрывателя, в рабочем процессе создания объекта кодирования.

Проверка после исправления

Повторите операцию, первоначально вернувшую NS_E_DRM_UNABLE_TO_CREATE_CODING_OBJECT. Для NS_E_DRM_UNABLE_TO_CREATE_CODING_OBJECT, зафиксируйте точный HRESULT в формирующем API в тесте с ошибкой «ошибка создания объекта кодирования»; затем измените только решающее предусловие и подтвердите, что исправленный запуск завершается без подмены соседним результатом DRM. После исправления NS_E_DRM_UNABLE_TO_CREATE_CODING_OBJECT, проверьте запрошенное действие и итоговое состояние хранилища лицензий, защищённых часов, устройства или миграции, относящееся к «ошибка создания объекта кодирования».

За что отвечал бы отсутствующий объект

для значения NS_E_DRM_UNABLE_TO_CREATE_CODING_OBJECT объект кодирования обычно выполняет настроенный этап обработки защищённого содержимого для медиаобразцов на пути невозможности создать объект кодирования. Сбой создания объекта происходит до передачи этой ответственности рабочему интерфейсу, поэтому более поздние сообщения проигрывателя или сервера вторичны при трассировке невозможности создать объект кодирования.

Именно для этого объекта сохраните режим кодирования, размеры входных и выходных данных, идентичность заголовка и позицию образца для границы невозможности создать объект кодирования. Успешное исправление должно позволить создать новый объект кодирования и выполнить его первую реальную операцию, а не только заставить фабричный вызов вернуть другую общую ошибку при диагностике невозможности создать объект кодирования.

Технические ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.

Exit mobile version