| Предыдущий | Следующий |
| NS_E_WMP_DRM_UNABLE_TO_ACQUIRE_LICENSE | NS_E_WMP_PROTECTED_CONTENT |
NS_E_WMP_LICENSE_REQUIRED
Начните с объекта, сформировавшего ошибку
Практический смысл NS_E_WMP_LICENSE_REQUIRED имеет узкий смысл: проигрыватель не нашёл прав использования медиа для запрошенного воспроизведения, записи или синхронизации. Этот результат возникает в подсистеме обработки прав Windows Media Player, которая открывает защищённые медиафайлы, проверяет состояние локальной лицензии, выполняет фоновое или интерактивное получение прав, проверяет компоненты DRM и применяет ограничения на воспроизведение, запись и синхронизацию.
Для однозначной проверки сохраните KID содержимого, запрошенное действие и факт попытки silent acquisition. Стандартное описание AllStat уже приведено выше; здесь рассматриваются состояние объекта и данные, необходимые, чтобы отличить NS_E_WMP_LICENSE_REQUIRED от соседних ошибок Windows Media.
Практический путь диагностики
- Сохраните этот HRESULT и
0xC00D120Aдо очистки, перехода к резервному пути или смены контекста другим медиаэлементом. - Сравните сбой с заведомо исправным случаем, изменив только наличие прав для запрошенного действия воспроизведения, записи или синхронизации.
- Примените узкое исправление для этого результата: войдите в службу-издатель и получите права для требуемого действия.
- Свяжите этот результат с его текущим объектом обработки прав Windows Media Player и запрошенным действием.
- Выполните прямую проверку для этого результата: сохраните KID содержимого, запрошенное действие и факт попытки silent acquisition.
- Повторите то же действие с тем же содержимым и идентификатором устройства и убедитесь, что
NS_E_WMP_LICENSE_REQUIREDне заменена другой ошибкой политики или доверия.
Значимое состояние времени выполнения
Для диагностики важны KID и заголовок содержимого, запись хранилища лицензий, запрошенное действие, URL получения лицензии, контекст пользователя/хранилища, защищённые часы и версия компонентов DRM. Сопоставьте KID, действие, результат проверки лицензии, последовательность callback, категорию ответа сервера и первый нижележащий HRESULT DRM.
Эти данные отличают результат от повреждения файла: проигрыватель не нашёл прав для запрошенного воспроизведения, записи или синхронизации.
Сравнение с одной переменной
NS_E_WMP_LICENSE_REQUIRED следует рассматривать как невыполненное предварительное условие, а не произвольную медиаошибку. Подтвердите его, сохранив KID содержимого, действие и факт silent acquisition; устраните причину, войдя в службу-издатель и получив права для этого действия. Сохраняйте NS_E_WMP_LICENSE_REQUIRED также показывает, использовала ли повторная попытка устаревшее состояние или действительно повторно оценила исправленные входные данные.
Требования к трассировке
| Поле | Значение для этого результата |
|---|---|
| Входные данные политики | запрошенное действие и точное свойство лицензии, сертификата, профиля, выхода или регистрации, проверяемое при получении этого результата |
| Временное состояние | доверенное или системное время, интервал действия, последовательность запросов и номер повторной попытки, если они влияют на результат |
| Результат нижнего уровня | самый ранний статус хранилища, сети, криптографического компонента, драйвера или поставщика перед итоговым HRESULT |
| Владелец | операция, API или обратный вызов, идентификатор объекта или сеанса и версия компонента или устройства, связанные с этим результатом |
| Прямая проверка | сохраните KID содержимого, запрошенное действие и факт попытки silent acquisition |
Что означал бы другой код
| Результат | Почему он указывает на другую причину |
|---|---|
NS_E_WMP_DRM_LICENSE_NOSAP | среда проигрывателя не может предоставить Secure Audio Path, требуемый лицензией |
NS_E_WMP_DRM_UNABLE_TO_ACQUIRE_LICENSE | проигрывателю не удалось завершить транзакцию получения лицензии в текущий момент |
NS_E_WMP_UDRM_NOUSERLIST | DRM в контексте пользователя не может проверить список активированных пользователей, связанный с этим компьютером |
Не диагностируйте неправильный слой
Для этого результата установленный факт состоит в отсутствии прав для запрошенного воспроизведения, записи или синхронизации. Для этого результата сам по себе этот факт не доказывает повреждение медиаданных, отсутствие декодера, общий сетевой сбой или недействительность прав для всех остальных действий.
Если Player, кодировщик, программа установки или уровень устройства позднее выдаёт более общую ошибку, сохраните этот HRESULT как первый конкретный результат. Объект и операция, связанные с этим результатом, обычно диагностически ценнее более позднего результата очистки или сводного сообщения интерфейса.
Как выглядит успешное завершение
Подходящее восстановление — войти в службу-издатель и получить права для требуемого действия. Для этого результата успех означает принятие того же запрошенного действия после этого точного изменения состояния, а не просто работу другого файла или устройства.
- При диагностике не сбрасывайте локальное хранилище DRM до фиксации KID содержимого и результата проверки лицензии: сброс может превратить точный сбой прав или подписи в общее состояние отсутствующей лицензии.
- Не изменяйте доверенное время, контроль отзыва, проверку сертификатов или политику выхода только ради подавления этого результата; это обходит решение, а не исправляет его входные данные.
- Сохраните один сбойный и один исправленный артефакт, чтобы устранение этого результата можно было проверять при регрессионном тестировании.
Регрессионная проверка
В итоговом тесте по возможности оставьте неизменными KID содержимого или хэш файла, запрошенное действие, пользователя или учётную запись, идентификатор устройства и маршрут выхода. Этот случай разрешён только тогда, когда операция завершается без этого HRESULT и без замещающей ошибки соседней проверки лицензии, доверия, сеанса или политики.
Технические ссылки для этого результата
- Обзор Windows Media DRM — описывает нормативный рабочий процесс, относящийся к этому случаю.
- Получение лицензий — перечисляет переходы безопасности и состояния, используемые при интерпретации этого результата.
- Лицензии и локальное хранилище лицензий — определяет объекты платформы, используемые при диагностике этого результата.
- Коды ошибок Windows Media Format SDK — документирует границу протокола или API, связанную с этим результатом.
Нужно найти другой код? Найти другой код состояния или ошибки.