Что означает код HRESULT 0xC00D27DD (NS_E_DRM_LICENSE_APP_NOTALLOWED)?

 
Предыдущий Следующий
NS_E_DRM_STORE_NOTALLOWED NS_E_DRM_LICENSE_CERT_EXPIRED

NS_E_DRM_LICENSE_APP_NOTALLOWED

Граница WMDRM, на которой возник сбой

0xC00D27DD соответствует NS_E_DRM_LICENSE_APP_NOTALLOWED. Рассматривайте его как результат проверки срока действия лицензии, прав и применения политики: Лицензия запрещает использование этого приложения. Сохранение границы «лицензия запрещает использование этого приложения» для NS_E_DRM_LICENSE_APP_NOTALLOWED не позволяет более позднему сообщению воспроизведения скрыть исходный результат DRM.

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

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

Контекст NS_E_DRM_LICENSE_APP_NOTALLOWED важно: наличие лицензии не означает разрешение любой операции; права и ограничения проверяются для конкретного действия. Кроме того, одно содержимое может иметь несколько лицензий, поэтому в диагностике нужно определить лицензию, фактически выбранную компонентом DRM, применительно к состоянию «лицензия запрещает использование этого приложения».

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

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

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

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

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

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

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

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

Показательный случай: Выданная хранилищем лицензия привязана к другому разрешённому проигрывателю.

Чего не следует делать сначала для состояния «лицензия запрещает использование этого приложения»

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

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

РезультатДругая граница
NS_E_DRM_STORE_NOTALLOWEDСохранение лицензии запрещено текущей политикой, в процессе обработки состояния «лицензия запрещает использование этого приложения».
NS_E_DRM_STORE_NEEDINDIДля сохранения лицензии требуется индивидуализация, при диагностике состояния «лицензия запрещает использование этого приложения».
NS_E_DRM_LICENSE_APPSECLOWУровень безопасности приложения ниже требований лицензии, при диагностике состояния «лицензия запрещает использование этого приложения».

Одно условие «лицензия запрещает использование этого приложения» может сопровождаться несколькими значениями. Упорядочьте цепочку событий NS_E_DRM_LICENSE_APP_NOTALLOWED по временным меткам и отдавайте предпочтение первому коду, сформированному на самой низкой конкретной границе, а не более позднему обобщённому сообщению проигрывателя.

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

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

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

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

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


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