Что означает код HRESULT 0xC00D28A8 (NS_E_DRM_INVALID_PROXIMITY_RESPONSE)?

 
Предыдущий Следующий
NS_E_DRM_MUST_REVALIDATE NS_E_DRM_INVALID_SESSION

NS_E_DRM_INVALID_PROXIMITY_RESPONSE

Что установила вызывающая сторона

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

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

Локализация сбоя

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

Состояние, которое необходимо сопоставлять

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

Это отличает данный результат от повреждения файла: установленное условие относится к состоянию «недопустимый ответ проверки близости устройства».

Переход состояния

Сравнение состояния до и после для NS_E_DRM_INVALID_PROXIMITY_RESPONSE должно изменять только одно условие. До исправления воспроизводится состояние «недопустимый ответ проверки близости устройства»; после исправления тот же процесс должен пройти эту границу. Результат NS_E_DRM_INVALID_PROXIMITY_RESPONSE должно сохранять идентичность содержимого и устройства, чтобы успех нельзя было объяснить проверкой другого объекта.

Состояние, которое следует сохранить до повтора

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

Похожие симптомы не означают одинаковую причину

РезультатПочему он указывает на другую причину
NS_E_DRM_MUST_APPROVEОперацию DRM необходимо явно подтвердить
NS_E_DRM_MUST_REVALIDATEЗащищённое состояние необходимо повторно проверить
NS_E_DRM_INVALID_SESSIONНедопустимый сеанс DRM

Не приписывайте HRESULT лишний смысл

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

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

Фактическое исправление

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

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

Подтверждение устойчивости исправления

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

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


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