Что означает код HRESULT 0xC00D28B5 (NS_E_DRM_INCLUSION_LIST_REQUIRED)?

 
Предыдущий Следующий
NS_E_DRM_INVALID_LICENSEBLOB NS_E_DRM_DRMV2CLT_REVOKED

NS_E_DRM_INCLUSION_LIST_REQUIRED

Состояние, стоящее за HRESULT

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

Расследование становится предметным после выполнения проверки для состояния «требуется список включения защищённых компонентов». Штатное описание AllStat приведено выше; этот раздел посвящён состоянию объекта и данным, позволяющим отличить NS_E_DRM_INCLUSION_LIST_REQUIRED от соседних ошибок Windows Media.

Сформируйте полезную запись о происшествии

NS_E_DRM_INCLUSION_LIST_REQUIRED имеет диагностический смысл, только пока с одной операцией связаны сертификат устройства, состояние регистрации и проверки, сетевой сеанс и сообщения протокола. Сохраните точный тип сообщения WMDRM-ND, идентификатор устройства, цепочку сертификатов, состояние регистрации, время обмена и первый HRESULT протокола для NS_E_DRM_INCLUSION_LIST_REQUIRED.

Эти данные важны, поскольку отклонено именно состояние «требуется список включения защищённых компонентов».

Целевая проверка

  1. Сохраните NS_E_DRM_INCLUSION_LIST_REQUIRED и 0xC00D28B5 до очистки, перехода к резервному пути или смены контекста другим медиаэлементом.
  2. Примените узкое исправление для NS_E_DRM_INCLUSION_LIST_REQUIRED: выпустите или используйте лицензию, содержащую требуемый список одобренных устройств.
  3. Свяжите NS_E_DRM_INCLUSION_LIST_REQUIRED с текущим объектом WMDRM для сетевых устройств и запрошенным действием.
  4. Выполните прямую проверку для NS_E_DRM_INCLUSION_LIST_REQUIRED: запросите в политике лицензии требуемый объект списка включения.
  5. Сравните сбой с заведомо исправным случаем, изменив только условие «требуется список включения защищённых компонентов».
  6. Повторите то же действие с тем же содержимым и идентификатором устройства и убедитесь, что NS_E_DRM_INCLUSION_LIST_REQUIRED не заменена другой ошибкой политики или доверия.

Восстановите ход принятия решения

Полезная модель сбоя для NS_E_DRM_INCLUSION_LIST_REQUIRED связывает причину и восстановление для состояния «требуется список включения защищённых компонентов». Подтвердите его прямой проверкой, затем внесите минимальное изменение, устраняющее отклонённое условие, применительно к состоянию «требуется список включения защищённых компонентов». Сохранение NS_E_DRM_INCLUSION_LIST_REQUIRED подходит для регрессионного теста, поскольку ожидаемое изменение состояния можно наблюдать без ослабления политики DRM.

Границы интерпретации

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

Если Player, кодировщик, программа установки или уровень устройства позднее выдаёт более общую ошибку, сохраните NS_E_DRM_INCLUSION_LIST_REQUIRED как первый конкретный результат. Объект и операция, связанные с NS_E_DRM_INCLUSION_LIST_REQUIRED , обычно диагностически ценнее более позднего результата очистки или сводного сообщения интерфейса.

Таблица состояния

ПолеЗначение для NS_E_DRM_INCLUSION_LIST_REQUIRED
Результат нижнего уровнясамый ранний статус хранилища, сети, криптографического компонента, драйвера или поставщика перед итоговой оболочкой NS_E_DRM_INCLUSION_LIST_REQUIRED
Владелецоперация, API или обратный вызов, идентификатор объекта или сеанса и версия компонента или устройства, связанные с NS_E_DRM_INCLUSION_LIST_REQUIRED
Прямая проверказапросите в политике лицензии требуемый объект списка включения
Входные данные политикизапрошенное действие и точное свойство лицензии, сертификата, профиля, выхода или регистрации, проверяемое при NS_E_DRM_INCLUSION_LIST_REQUIRED
Временное состояниедоверенное или системное время, интервал действия, последовательность запросов и номер повторной попытки, если они влияют на NS_E_DRM_INCLUSION_LIST_REQUIRED

Соседние решения безопасности

РезультатПочему он указывает на другую причину
NS_E_DRM_EXPIRED_LICENSEBLOBсрок действия данных лицензии в запросе Cardea истёк
NS_E_DRM_INVALID_LICENSEBLOBНедопустимый блок лицензии DRM
NS_E_DRM_DRMV2CLT_REVOKEDКлиент DRM версии 2 отозван

Критерий исправления

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

  • Широкий сброс не является первым действием для NS_E_DRM_INCLUSION_LIST_REQUIRED; не удаляйте всю базу регистрации устройств до сохранения сбойной записи устройства и цепочки сертификатов: иначе исчезает различие между сбоями регистрации, одобрения, проверки и сеанса.
  • Не изменяйте доверенное время, контроль отзыва, проверку сертификатов или политику выхода только ради подавления NS_E_DRM_INCLUSION_LIST_REQUIRED; это обходит решение, а не исправляет его входные данные.
  • Сохраните один сбойный и один исправленный артефакт, чтобы устранение NS_E_DRM_INCLUSION_LIST_REQUIRED можно было проверять при регрессионном тестировании.

Условие приёмки

В итоговом тесте NS_E_DRM_INCLUSION_LIST_REQUIRED по возможности оставьте неизменными KID содержимого или хэш файла, запрошенное действие, пользователя или учётную запись, идентификатор устройства и маршрут выхода. Случай NS_E_DRM_INCLUSION_LIST_REQUIRED разрешён только тогда, когда операция завершается без этого HRESULT и без замещающей ошибки соседней проверки лицензии, доверия, сеанса или политики.

Технические ссылки для NS_E_DRM_INCLUSION_LIST_REQUIRED


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