Что означает код HRESULT 0xC00D11D0 (NS_E_WMP_DRM_NEEDS_AUTHORIZATION)?

 
Предыдущий Следующий
NS_E_WMP_CD_ANOTHER_USER NS_E_WMP_BAD_DRIVER

NS_E_WMP_DRM_NEEDS_AUTHORIZATION

Что именно сужает этот результат

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

Определяющая проверка — установить URL/callback авторизации и точную версию компонента, который её запрашивает. Стандартное описание AllStat уже приведено выше; здесь рассматриваются состояние объекта и данные, необходимые, чтобы отличить NS_E_WMP_DRM_NEEDS_AUTHORIZATION от соседних ошибок Windows Media.

Входные данные для решения

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

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

От диагностических данных к исправлению

NS_E_WMP_DRM_NEEDS_AUTHORIZATION следует рассматривать как невыполненное предварительное условие, а не произвольную медиаошибку. Подтвердите его, определив URL/callback авторизации и точную версию запрашивающего компонента; устраните причину, выполнив поддерживаемую процедуру авторизации при разрешённом политикой доступе к сети. Этот результат подходит для регрессионного теста, поскольку ожидаемое изменение состояния можно наблюдать без ослабления политики DRM.

Полезный набор данных для поддержки

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

Полезные сравнения

РезультатПочему он указывает на другую причину
NS_E_WMP_DRM_LICENSE_SERVER_UNAVAILABLEпроигрыватель не может связаться с настроенной службой лицензирования или завершить обмен с ней
NS_E_WMP_DRM_DRIVER_AUTH_FAILUREзащищённый тракт воспроизведения не может аутентифицировать аудиодрайвер с требуемым уровнем доверия
NS_E_WMP_LICENSE_RESTRICTSлицензия содержимого явно запрещает выбранное действие проигрывателя

Границы, исключаемые этим кодом

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

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

Проверьте одно предварительное условие

  1. Сохраните этот HRESULT и 0xC00D11D0 до очистки, перехода к резервному пути или смены контекста другим медиаэлементом.
  2. Свяжите этот результат с его текущим объектом обработки прав Windows Media Player и запрошенным действием.
  3. Выполните прямую проверку для этого результата: определите URL/callback авторизации и точную версию компонента, который её запрашивает.
  4. Сравните сбой с заведомо исправным случаем, изменив только состояние авторизации или обновления безопасности, требуемое компонентами DRM.
  5. Примените узкое исправление для этого результата: выполните поддерживаемую процедуру авторизации при сетевом доступе, разрешённом политикой.
  6. Повторите то же действие с тем же содержимым и идентификатором устройства и убедитесь, что NS_E_WMP_DRM_NEEDS_AUTHORIZATION не заменена другой ошибкой политики или доверия.

Корректирующее действие

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

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

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

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

Технические ссылки для этого результата


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