| Предыдущий | Следующий |
| NS_E_DRM_LICENSE_NOTENABLED | NS_E_DRM_STORE_NEEDINDI |
NS_E_DRM_LICENSE_APPSECLOW
Где остановилась операция
0xC00D27DA соответствует NS_E_DRM_LICENSE_APPSECLOW. Рассматривайте его как результат проверки срока действия лицензии, прав и применения политики: Уровень безопасности приложения ниже требований лицензии. Сохранение границы «уровень безопасности приложения ниже требований лицензии» для NS_E_DRM_LICENSE_APPSECLOW не позволяет более позднему сообщению воспроизведения скрыть исходный результат DRM.
Для NS_E_DRM_LICENSE_APPSECLOW, встроенное сообщение описывает видимый пользователю результат, а символьное имя сохраняет точную границу WMDRM для диагностики. Для подтверждения этого кода зафиксируйте требуемый и фактический уровни безопасности приложения и идентификатор его сертификата.
Состояние, которое следует сохранить до повтора
Зафиксируйте первое появление NS_E_DRM_LICENSE_APPSECLOW до того, как автоматический повтор, завершение Player, восстановление хранилища или повторное получение лицензии изменит состояние. Минимальная полезная запись содержит:
- Подтверждение для этого кода для состояния «уровень безопасности приложения ниже требований лицензии»: зафиксируйте требуемый и фактический уровни безопасности приложения и идентификатор его сертификата
- Защищённая идентичность для состояния «уровень безопасности приложения ниже требований лицензии»: уровень безопасности приложения и требуемую защиту вывода, в процессе обработки данного состояния.
- Состояние операции для состояния «уровень безопасности приложения ниже требований лицензии»: оставшиеся счётчики, состояние регистрации устройства и отзыва, при диагностике данного состояния.
- Хранилище или транспорт для состояния «уровень безопасности приложения ниже требований лицензии»: запрошенное действие: воспроизведение, копирование, запись или передача, при трассировке данного состояния.
- Контекст безопасности для состояния «уровень безопасности приложения ниже требований лицензии»: идентификатор лицензии, KID и идентификатор заголовка содержимого, на границе данного состояния.
- Точка корреляции для состояния «уровень безопасности приложения ниже требований лицензии»: значения начала и окончания срока действия и защищённых часов, при диагностике данного состояния.
При расследовании «уровень безопасности приложения ниже требований лицензии» по возможности используйте KID, идентификаторы лицензий, хэши, отпечатки сертификатов, размеры и временные метки. Во время диагностики NS_E_DRM_LICENSE_APPSECLOW, не помещайте в обычные журналы ключи содержимого, полные данные лицензий, пароли, cookie или расшифрованные медиаданные.
Место в рабочем процессе DRM
Контекст NS_E_DRM_LICENSE_APPSECLOW важно: наличие лицензии не означает разрешение любой операции; права и ограничения проверяются для конкретного действия. Кроме того, одно содержимое может иметь несколько лицензий, поэтому в диагностике нужно определить лицензию, фактически выбранную компонентом DRM, применительно к состоянию «уровень безопасности приложения ниже требований лицензии».
Полезный порядок расследования
- Начните с
0xC00D27DAи сопоставьте его с первым объектом WMDRM, который вернул этот результат, при диагностике данного состояния. - Для
NS_E_DRM_LICENSE_APPSECLOW, разделите данные заголовка и содержимого, сведения о лицензии, состоянии компьютера или устройства и данные службы или сети вокруг условия «уровень безопасности приложения ниже требований лицензии». - Перед повтором
NS_E_DRM_LICENSE_APPSECLOWпроверьте, не была ли активна другая операция «уровень безопасности приложения ниже требований лицензии» и не мог ли предыдущий результат частично зафиксироваться. - Для
NS_E_DRM_LICENSE_APPSECLOW, зафиксируйте данные прямой проверки, относящиеся к этому HRESULT. - Примените минимальное поддерживаемое исправление: исправьте состояние или входные данные на уровне, сформировавшем ошибку, и повторите операцию с новым объектом; не сбрасывайте не связанное с ошибкой защищённое состояние, применительно к состоянию «уровень безопасности приложения ниже требований лицензии».
Узко направленное исправление
Поддерживаемое исправление для NS_E_DRM_LICENSE_APPSECLOW имеет узкое исправление: устраните причину состояния «уровень безопасности приложения ниже требований лицензии» и повторите операцию с новым объектом. После устранения NS_E_DRM_LICENSE_APPSECLOWповторно откройте или создайте объект, которому принадлежало условие «уровень безопасности приложения ниже требований лицензии», чтобы кэшированное состояние сбойного экземпляра не было принято за результат исправления.
Показательный случай: Лицензия действительна, но запрещает воспроизведение в старой сборке приложения.
Чего не следует делать сначала для состояния «уровень безопасности приложения ниже требований лицензии»
- Не изменяйте системные часы и не обходите защиту вывода, чтобы сделать действительной лицензию, ограниченную временем или требованиями безопасности. Это изменяет доказательства, не объясняя, почему
NS_E_DRM_LICENSE_APPSECLOW. - Не считайте каждый отказ политики признаком повреждённого файла или отсутствующего кодека, применительно к состоянию «уровень безопасности приложения ниже требований лицензии». Для
NS_E_DRM_LICENSE_APPSECLOW, такой подход может создать дополнительную проблему хранилища, идентификации или политики. - Не сводите
NS_E_DRM_LICENSE_APPSECLOWдо фразы «сбой DRM» в телеметрии; сохраняйте HRESULT, символьное имя, операцию и идентификатор объекта.
Соседние результаты с другим смыслом
| Результат | Другая граница |
|---|---|
NS_E_DRM_LICENSE_NOTENABLED | Лицензия не разрешает запрошенное действие, при диагностике состояния «уровень безопасности приложения ниже требований лицензии». |
NS_E_DRM_STORE_NEEDINDI | Для сохранения лицензии требуется индивидуализация, при диагностике состояния «уровень безопасности приложения ниже требований лицензии». |
NS_E_DRM_LICENSE_EXPIRED | Срок действия лицензии истёк, на границе состояния «уровень безопасности приложения ниже требований лицензии». |
Одно условие «уровень безопасности приложения ниже требований лицензии» может сопровождаться несколькими значениями. Упорядочьте цепочку событий NS_E_DRM_LICENSE_APPSECLOW по времени и отдавайте предпочтение первому коду, созданному на самой низкой конкретной границе, а не более позднему сообщению проигрывателя.
Проверка после исправления
Корректный регрессионный тест для NS_E_DRM_LICENSE_APPSECLOW содержит два сценария: один намеренно вызывает попытку защищённого действия до проверки разрешения лицензии, второй применяет целевое исправление. Для NS_E_DRM_LICENSE_APPSECLOWсравните порядок обратных вызовов, выбранную лицензию и KID, итоговое решение о правах и сохранённое состояние; исчезновение одного диалогового окна не доказывает исправление.
Практическое примечание для этого кода
Символьная фраза «уровень безопасности приложения ниже требований лицензии» является важным ключом поиска и телеметрии для NS_E_DRM_LICENSE_APPSECLOW. Храните её рядом с точным значением 0xC00D27DA; официальное сообщение о том, что лицензии требуется более высокий уровень безопасности проигрывателя, и предложение обновить или сменить проигрыватель полезны пользователю, но сами по себе не определяют API-источник, поколение объекта или защищённую идентичность.
Технические ссылки
- Основы DRM и применение прав — официальный контекст Windows Media DRM для
NS_E_DRM_LICENSE_APPSECLOW. - Лицензии и локальное хранилище лицензий — правила API и состояния, относящиеся к границе
NS_E_DRM_LICENSE_APPSECLOW. - Уровни защиты выхода — документация платформы, используемая для отличия
NS_E_DRM_LICENSE_APPSECLOWот соседних результатов. - Защита DRM и распространение лицензий — официальный контекст Windows Media DRM для
NS_E_DRM_LICENSE_APPSECLOW.
Нужно найти другой код? Найти другой код состояния или ошибки.