Что означает код HRESULT 0xC00D28B7 (NS_E_DRM_RIV_TOO_SMALL)?

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

NS_E_DRM_RIV_TOO_SMALL

Сначала анализируйте код, затем диалоговое окно

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

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

Минимальный набор данных

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

Сопоставьте владельца и политику

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

Более поздняя общая ошибка не должна подменять эти данные: исходное условие остаётся тем же — доступная клиенту версия сведений об отзыве ниже минимальной, требуемой политикой.

Почему важен первый HRESULT

Переход, возвращающий NS_E_DRM_RIV_TOO_SMALL начинается со сравнения установленной версии RIV с требованием из ответа лицензии/протокола. Если наблюдение подтверждается, переход к следующему состоянию невозможен, пока реализация не выполнит поддерживаемое обновление безопасности/CRL, повышающее версию сведений об отзыве. Сохраните первый низкоуровневый статус рядом с NS_E_DRM_RIV_TOO_SMALL , поскольку HRESULT оболочки иначе может скрыть компонент, сформировавший ошибку.

Итоговое диалоговое окно может быть шире

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

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

Контролируемое воспроизведение

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

Отличие от связанных результатов

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

Восстановление на правильном уровне

Исправьте компонент, которому принадлежит проверка: выполните поддерживаемое обновление безопасности/CRL для повышения версии сведений об отзыве. Для NS_E_DRM_RIV_TOO_SMALLуспех означает принятие того же запрошенного действия после этого точного изменения состояния, а не просто работу другого файла или устройства.

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

Повторная проверка исходного случая

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

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


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