Что означает код HRESULT 0xC00D28A4 (NS_E_DRM_UNABLE_TO_VERIFY_PROXIMITY)?

 
Предыдущий Следующий
NS_E_DRM_DEVICE_LIMIT_REACHED NS_E_DRM_MUST_REGISTER

NS_E_DRM_UNABLE_TO_VERIFY_PROXIMITY

Значение в активном рабочем процессе

Первый практически значимый факт для NS_E_DRM_UNABLE_TO_VERIFY_PROXIMITY состоит в том, что обмен для проверки близости с контролем времени не подтвердил, что приёмник находится достаточно близко к передатчику. Подсистема, формирующая NS_E_DRM_UNABLE_TO_VERIFY_PROXIMITY относится к Windows Media DRM для сетевых устройств, а не медиадекодер; этот слой реализует протокол передатчика и приёмника, регистрирует сетевое устройство воспроизведения, подтверждает его, проверяет близость, открывает защищённый сеанс и преобразует лицензированное содержимое для приёмника.

Кратчайший путь к обоснованной диагностике — зафиксировать временные метки challenge/response, повторы и задержку сетевого пути. Стандартный текст AllStat уже приведён выше; этот специальный раздел сосредоточен на состоянии объекта и доказательствах, необходимых для различения NS_E_DRM_UNABLE_TO_VERIFY_PROXIMITY от соседних ошибок Windows Media.

Сохраните исходное поколение

Граф объектов за NS_E_DRM_UNABLE_TO_VERIFY_PROXIMITY включает сертификат и серийный номер устройства, запись базы регистрации, флаг одобрения, время проверки, сетевой сеанс, сообщение протокола и политику transcrypt. Трасса NS_E_DRM_UNABLE_TO_VERIFY_PROXIMITY должна сохранять точный тип сообщения WMDRM-ND, идентификатор устройства, цепочку сертификатов, состояние регистрации, время прохождения туда-обратно и первый HRESULT протокола.

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

Подтверждение границы

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

Модель сбоя

NS_E_DRM_UNABLE_TO_VERIFY_PROXIMITY следует моделировать как невыполненное предусловие, а не как произвольную ошибку мультимедиа. Подтвердите предусловие, зафиксировав временные метки challenge/response, повторы и задержку сетевого пути, а устраните его, уменьшив задержку и потери на пути и повторив проверку в локальной сети. Для NS_E_DRM_UNABLE_TO_VERIFY_PROXIMITY, это различие не позволяет более позднему диалогу Player скрыть результат политики лицензии и сохраняет связь теста с исходным поколением объекта.

Что остаётся неизвестным

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

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

Диагностический перечень

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

Сравнение соседних состояний

РезультатПочему он указывает на другую причину
NS_E_DRM_LICENSE_UNAVAILABLEЛицензия недоступна
NS_E_DRM_DEVICE_LIMIT_REACHEDДостигнут предел числа зарегистрированных устройств
NS_E_DRM_MUST_REGISTERдля приёмника отсутствует действующая запись в базе регистрации передатчика

Практические действия

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

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

Подтверждение того же рабочего процесса

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

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


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