| Предыдущий | Следующий |
| NS_E_DRM_SECURE_STORE_UNLOCK_ERROR | NS_E_DRM_UNABLE_TO_OPEN_LICENSE |
NS_E_DRM_INVALID_CONTENT
Граница WMDRM, на которой возник сбой
0xC00D2716 соответствует NS_E_DRM_INVALID_CONTENT. Рассматривайте его как результат обработки заголовка защищённого содержимого, ключей и криптографических данных: Недопустимое защищённое содержимое. Сохранение границы «недопустимое защищённое содержимое» для NS_E_DRM_INVALID_CONTENT не позволяет более позднему сообщению воспроизведения скрыть исходный результат DRM.
Для NS_E_DRM_INVALID_CONTENT, встроенное сообщение описывает видимый пользователю результат, а символьное имя сохраняет точную границу WMDRM для диагностики. Для подтверждения этого кода сохраните хэш файла, байты заголовка DRM, результат разбора ASF и первое смещение, на котором произошёл сбой.
Место в рабочем процессе DRM
Контекст NS_E_DRM_INVALID_CONTENT важно: неверный заголовок содержимого, недопустимый XML-документ лицензии и ошибка расшифрования возникают на разных границах и требуют разных заменяемых материалов. Кроме того, защищённое содержимое следует обозначать хешами и KID; ключи содержимого и полные блоки лицензий раскрывать нельзя.
Состояние, которое следует сохранить до повтора
Зафиксируйте первое появление NS_E_DRM_INVALID_CONTENT до того, как автоматический повтор, закрытие проигрывателя, восстановление хранилища или повторное получение лицензии изменит состояние. Минимально полезная запись содержит:
- Подтверждение для этого кода для состояния «недопустимое защищённое содержимое»: сохраните хэш файла, байты заголовка DRM, результат разбора ASF и первое смещение, на котором произошёл сбой
- Защищённая идентичность для состояния «недопустимое защищённое содержимое»: состояние проверки подписи или сертификата, для данного результата.
- Состояние операции для состояния «недопустимое защищённое содержимое»: смещение первого сбойного образца, а не только сообщение уровня проигрывателя, при воспроизведении этой ошибки.
- Хранилище или транспорт для состояния «недопустимое защищённое содержимое»: байты заголовка ASF/DRM и объявленную версию, в процессе обработки данного состояния.
- Контекст безопасности для состояния «недопустимое защищённое содержимое»: KID, идентификатор лицензии и результат выбора ключа, при диагностике данного состояния.
- Точка корреляции для состояния «недопустимое защищённое содержимое»: алгоритм, длину ключа и тип криптографического объекта, при трассировке данного состояния.
При расследовании «недопустимое защищённое содержимое» по возможности используйте KID, идентификаторы лицензий, хэши, отпечатки сертификатов, размеры и временные метки. Во время диагностики NS_E_DRM_INVALID_CONTENT, не помещайте в обычные журналы ключи содержимого, полные блоки лицензий, пароли, cookie или расшифрованные мультимедиа.
Полезный порядок расследования
- Найдите самый ранний возврат API, обратный вызов или событие, содержащее
NS_E_DRM_INVALID_CONTENTи0xC00D2716. - Для
NS_E_DRM_INVALID_CONTENT, определите точное поколение объекта содержимого, лицензии, хранилища, устройства или миграции, участвующее в «недопустимое защищённое содержимое». - Для
NS_E_DRM_INVALID_CONTENT, определите, возникло ли «недопустимое защищённое содержимое» до сетевого обмена, при проверке ответа, во время применения политики или при фиксации защищённого состояния. - Выполните проверку для этого кода: сохраните хэш файла, байты заголовка DRM, результат разбора ASF и первое смещение, на котором произошёл сбой.
- Внесите одно точечное исправление — замените повреждённый или несоответствующий защищённый файл копией из доверенного источника — и повторите ту же операцию, формировавшую ошибку.
Узко направленное исправление
Для NS_E_DRM_INVALID_CONTENT, исправление состоит в следующем: замените повреждённый или несоответствующий защищённый файл копией из доверенного источника. Сохраните исходный заголовок содержимого, хранилище или материалы миграции для NS_E_DRM_INVALID_CONTENT до тех пор, пока операция «недопустимое защищённое содержимое» не завершится успешно и результат не сохранится после создания нового объекта приложения или обязательного перезапуска.
Показательный случай: Одна копия объекта завершается ошибкой, а другая с тем же названием, но другим хешем, обрабатывается успешно.
Чего не следует делать сначала для состояния «недопустимое защищённое содержимое»
- Не считайте, что переустановка кодека может исправить неверный заголовок DRM или несоответствие криптографического ключа, с учётом состояния «недопустимое защищённое содержимое». Это изменяет доказательства, не объясняя, почему
NS_E_DRM_INVALID_CONTENT. - Не публикуйте ключи содержимого, полные блоки лицензий и расшифрованные медиаданные при сборе диагностики, применительно к состоянию «недопустимое защищённое содержимое». Для
NS_E_DRM_INVALID_CONTENTтакой подход может создать вторую проблему хранилища, идентификатора или политики при трассировке недопустимое защищённое содержимое. - Не сводите
NS_E_DRM_INVALID_CONTENTк «сбой DRM» в телеметрии; сохраняйте HRESULT, символьное имя, операцию и идентификатор объекта для границы недопустимое защищённое содержимое.
Соседние результаты с другим смыслом
| Результат | Другая граница |
|---|---|
NS_E_DRM_KEY_ERROR | Запрошенное действие невозможно выполнить из-за неполадки компонентов Windows Media Digital Rights Management (DRM) на компьютере. |
NS_E_DRM_ENCRYPT_ERROR | Ошибка шифрования DRM, при диагностике состояния «недопустимое защищённое содержимое». |
NS_E_DRM_DECRYPT_ERROR | Медиафайл повреждён. Обратитесь к поставщику содержимого за новой копией файла, применительно к состоянию «недопустимое защищённое содержимое». |
Одно условие «недопустимое защищённое содержимое» может сопровождаться несколькими значениями. Упорядочьте цепочку событий NS_E_DRM_INVALID_CONTENT по временным меткам и отдавайте приоритет первому коду, полученному на самой низкой конкретной границе, а не более позднему сводному результату уровня Player.
Проверка после исправления
После исправления пересоздайте объект WMDRM и выполните минимальный пример для NS_E_DRM_INVALID_CONTENT. Убедитесь, что 0xC00D2716 больше не возникает, требуемое лицензионное действие завершается, а вместо него не появляется предупреждение хранилища, сертификата, часов или миграции.
Практическое примечание для этого кода
Символьная фраза «недопустимое защищённое содержимое» является важным ключом поиска и телеметрии для NS_E_DRM_INVALID_CONTENT. Храните её рядом с точным значением 0xC00D2716; официальное сообщение «недопустимое защищённое содержимое» полезно пользователю, но само по себе не определяет формирующий API, поколение объекта или защищённую идентичность.
Технические ссылки
- Обзор Windows Media DRM — правила API и состояния, относящиеся к границе
NS_E_DRM_INVALID_CONTENT. - Защита DRM и распространение лицензий — документация платформы, используемая для отличия
NS_E_DRM_INVALID_CONTENTот соседних результатов. - Версии DRM — официальный контекст Windows Media DRM для
NS_E_DRM_INVALID_CONTENT. - Коды ошибок Windows Media DRM — правила API и состояния, относящиеся к границе
NS_E_DRM_INVALID_CONTENT.
Нужно найти другой код? Найти другой код состояния или ошибки.