Что означает код HRESULT 0xC00D28B6 (NS_E_DRM_DRMV2CLT_REVOKED)?

 
Предыдущий Следующий
NS_E_DRM_INCLUSION_LIST_REQUIRED NS_E_DRM_RIV_TOO_SMALL

NS_E_DRM_DRMV2CLT_REVOKED

Первый надёжно установленный факт

Условие, закодированное в 0xC00D28B6 не является общей ошибкой воспроизведения: требуемый операции устаревший клиентский компонент DRM v2 отозван. Для NS_E_DRM_DRMV2CLT_REVOKEDвладельцем является WMDRM для сетевых устройств; его контракт охватывает протокол передатчика и приёмника, который регистрирует сетевое устройство воспроизведения, подтверждает его, проверяет близость, открывает защищённый сеанс и перекодирует лицензированное содержимое для этого приёмника.

Кратчайший путь к обоснованной диагностике — зафиксируйте точный API, состояние объекта, идентификаторы входных данных и первый конкретный результат нижнего уровня, применительно к состоянию «клиент DRM версии 2 отозван». Штатное описание AllStat приведено выше; этот раздел посвящён состоянию объекта и данным, позволяющим отличить этот результат от соседних ошибок Windows Media.

Данные инцидента

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

Транзакция, которую нужно восстановить

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

Эти данные важны, поскольку отклонено именно состояние «клиент DRM версии 2 отозван».

Контролируемая проверка до и после

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

Чего результат не доказывает

Установлен факт состояния «клиент DRM версии 2 отозван». Этот факт сам по себе не доказывает повреждение медиаданных, отсутствие декодера, общий сетевой сбой или недействительность прав для всех остальных действий.

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

Воспроизведение на ответственном уровне

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

Не объединяйте эти сбои

РезультатПочему он указывает на другую причину
NS_E_DRM_INVALID_LICENSEBLOBНедопустимый блок лицензии DRM
NS_E_DRM_INCLUSION_LIST_REQUIREDТребуется список включения защищённых компонентов
NS_E_DRM_RIV_TOO_SMALLВерсия сведений об отзыве ниже требуемой

Восстановление требуемого состояния

Подходящее исправление — обновить клиентский компонент DRM до поддерживаемой неотозванной версии. Успех означает принятие того же запрошенного действия после этого точного изменения состояния, а не просто работу другого файла или устройства.

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

Сохраните диагностический пример

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

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


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