Что означает код HRESULT 0xC00D1208 (NS_E_WMP_DRM_LICENSE_NOSAP)?

 
Предыдущий Следующий
NS_E_WMP_DRM_LICENSE_CONTENT_REVOKED NS_E_WMP_DRM_UNABLE_TO_ACQUIRE_LICENSE

NS_E_WMP_DRM_LICENSE_NOSAP

Начните с объекта, сформировавшего ошибку

Практический смысл NS_E_WMP_DRM_LICENSE_NOSAP имеет узкий смысл: среда проигрывателя не может предоставить Secure Audio Path, требуемый лицензией. Диагностику NS_E_WMP_DRM_LICENSE_NOSAP поэтому начинается в обработке прав Windows Media Player — уровне проигрывателя, который открывает защищённое медиа, запрашивает локальное состояние лицензии, выполняет тихое или интерактивное получение прав, проверяет компоненты DRM и применяет ограничения на воспроизведение, запись или синхронизацию.

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

Практический путь диагностики

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

Значимое состояние времени выполнения

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

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

Сравнение с одной переменной

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

Требования к трассировке

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

Что означал бы другой код

РезультатПочему он указывает на другую причину
NS_E_WMP_DRM_LICENSE_UNUSABLEнайденная лицензия существует, но не может быть применена к этому содержимому или действию
NS_E_WMP_DRM_LICENSE_CONTENT_REVOKEDиздатель отозвал разрешение для защищённого содержимого или лицензии
NS_E_WMP_DRM_UNABLE_TO_ACQUIRE_LICENSEпроигрывателю не удалось завершить транзакцию получения лицензии в текущий момент

Не диагностируйте неправильный слой

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

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

Как выглядит успешное завершение

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

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

Регрессионная проверка

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

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


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