| Предыдущий | Следующий |
| 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 или расшифрованные медиаданные.
Полезный порядок расследования
- Найдите самый ранний возврат API, обратный вызов или событие, содержащее
NS_E_DRM_LICENSE_APP_NOTALLOWEDи0xC00D27DD. - Для
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. - Не считайте каждый отказ политики признаком повреждённого файла или отсутствующего кодека, применительно к состоянию «лицензия запрещает использование этого приложения». Для
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, поколение объекта или защищённый идентификатор, сформировавшие ошибку.
Технические ссылки
- Основы DRM и применение прав — правила API и состояния, относящиеся к границе
NS_E_DRM_LICENSE_APP_NOTALLOWED. - Лицензии и локальное хранилище лицензий — документация платформы, используемая для отличия
NS_E_DRM_LICENSE_APP_NOTALLOWEDот соседних результатов. - Уровни защиты выхода — официальный контекст Windows Media DRM для
NS_E_DRM_LICENSE_APP_NOTALLOWED. - Защита DRM и распространение лицензий — правила API и состояния, относящиеся к границе
NS_E_DRM_LICENSE_APP_NOTALLOWED.
Нужно найти другой код? Найти другой код состояния или ошибки.