Что означает код HRESULT 0xC00D2728 (NS_E_DRM_NEEDS_INDIVIDUALIZATION)?

 
Предыдущий Следующий
NS_E_DRM_LICENSE_INVALID_XML NS_E_DRM_ALREADY_INDIVIDUALIZED

NS_E_DRM_NEEDS_INDIVIDUALIZATION

Как классифицировать этот результат

Символьный результат NS_E_DRM_NEEDS_INDIVIDUALIZATION сужает значение 0xC00D2728 к индивидуализации DRM и обновлению компонентов безопасности, в пути обработки состояния «требуется индивидуализация». На практике для выполнения операции с этим медиафайлом требуется обновление безопасности; формирующий слой — выполняемое с согласия пользователя обновление безопасности, которое заменяет общий компонент DRM индивидуализированным компонентом, привязанным к компьютеру, и асинхронно сообщает о ходе операции, при трассировке состояния «требуется индивидуализация».

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

Как доказать условие

  1. Найдите самый ранний возврат API, обратный вызов или событие, содержащее NS_E_DRM_NEEDS_INDIVIDUALIZATION и 0xC00D2728.
  2. Для NS_E_DRM_NEEDS_INDIVIDUALIZATION, определите точное поколение объекта содержимого, лицензии, хранилища, устройства или миграции, участвующее в «требуется индивидуализация».
  3. Для NS_E_DRM_NEEDS_INDIVIDUALIZATION, определите, возникло ли «требуется индивидуализация» до сетевого обмена, при проверке ответа, во время применения политики или при фиксации защищённого состояния.
  4. Выполните проверку именно для этого кода: запишите точный API, состояние объекта, идентичность входных данных и первый низкоуровневый результат, применительно к состоянию «требуется индивидуализация».
  5. Внесите одно точечное исправление — выполните поддерживаемую индивидуализацию или исправьте состояние, мешающее её завершению — и повторите ту же операцию, сформировавшую ошибку, применительно к состоянию «требуется индивидуализация».

Какой компонент владеет сбоем

Не сводите NS_E_DRM_NEEDS_INDIVIDUALIZATION к общей ошибке DRM при диагностике состояния «требуется индивидуализация». Индивидуализация изменяет компоненты безопасности DRM и отличается от обычного получения лицензии в инциденте «требуется индивидуализация». Кроме того, сбой или незавершённая индивидуализация может помешать клиенту удовлетворить требования лицензий к обновлённому компоненту, даже если незащищённое содержимое по-прежнему воспроизводится, для результата «требуется индивидуализация».

Диагностические данные, разделяющие причины

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

  • Подтверждение для этого кода: зафиксируйте точный API, состояние объекта, идентичность входных данных и первый низкоуровневый результат, относящиеся к состоянию «требуется индивидуализация».
  • Защищённая идентичность: состояние индивидуализации и обратный вызов завершения в процессе «требуется индивидуализация».
  • Состояние операции: версию компонента безопасности до и после попытки в пути «требуется индивидуализация».
  • Хранилище или транспорт: ответ загрузки/службы и результат проверки подписи при трассировке состояния «требуется индивидуализация».
  • Контекст безопасности: согласие пользователя и точку отмены на границе состояния «требуется индивидуализация».
  • Точка корреляции: выполнена ли индивидуализация приложения до требуемого уровня при диагностике состояния «требуется индивидуализация».

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

Распространённые, но небезопасные действия для состояния «требуется индивидуализация»

  • Не запускайте несколько обновлений безопасности одновременно и не повторяйте их без ожидания статуса завершения для результата «требуется индивидуализация». Это изменяет доказательства, не показывая, почему NS_E_DRM_NEEDS_INDIVIDUALIZATION .
  • Не заменяйте индивидуализированные двоичные файлы вручную и не отключайте проверку подписей при воспроизведении состояния «требуется индивидуализация». Для NS_E_DRM_NEEDS_INDIVIDUALIZATIONтакой обходной путь может создать вторую проблему хранилища, идентичности или политики, в процессе обработки состояния «требуется индивидуализация».
  • Не сводите NS_E_DRM_NEEDS_INDIVIDUALIZATION в телеметрии к сообщению «сбой DRM»; сохраняйте HRESULT, символическое имя, операцию и идентичность объекта, в пути обработки состояния «требуется индивидуализация».

Что должно изменить поддерживаемое исправление

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

Показательный случай: Приложение достигает пути «требуется индивидуализация» и получает этот HRESULT до завершения мультимедийной операции более высокого уровня.

Не объединяйте эти HRESULT

РезультатДругая граница
NS_E_DRM_ALREADY_INDIVIDUALIZEDУ вас уже установлены последние компоненты безопасности на границе состояния «требуется индивидуализация»; обновление сейчас не требуется при диагностике этого состояния.
NS_E_DRM_INDIVIDUALIZINGВыполняется индивидуализация DRM, при диагностике состояния «требуется индивидуализация».
NS_E_DRM_INDIVIDUALIZE_ERRORОбновление безопасности завершилось ошибкой для результата «требуется индивидуализация»; повторите попытку позже.

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

Как убедиться, что исправление действительно

После исправления пересоздайте объект WMDRM и выполните минимальный пример для NS_E_DRM_NEEDS_INDIVIDUALIZATION. Убедитесь, что 0xC00D2728 больше не возникает, требуемое лицензионное действие завершается, а вместо него не появляется предупреждение хранилища, сертификата, часов или миграции, в процессе обработки состояния «требуется индивидуализация».

Практическое примечание для этого кода

Символьная фраза «требуется индивидуализация» является важным ключом поиска и телеметрии для NS_E_DRM_NEEDS_INDIVIDUALIZATION. Храните её рядом с точным значением 0xC00D2728; официальное сообщение «Для выполнения операции с этим мультимедийным файлом требуется обновление безопасности» полезно пользователю, но само по себе не определяет формирующий API, поколение объекта или защищённую идентичность при диагностике состояния «требуется индивидуализация».

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


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