| Предыдущий | Следующий |
| NS_E_DRM_CERTIFICATE_REVOKED | NS_E_DRM_DEVICE_LIMIT_REACHED |
NS_E_DRM_LICENSE_UNAVAILABLE
Начните с объекта, сформировавшего ошибку
Полезная интерпретация NS_E_DRM_LICENSE_UNAVAILABLE имеет узкий смысл: ни одна доступная передатчику лицензия не разрешает запрошенное действие WMDRM-ND. Подсистема, формирующая NS_E_DRM_LICENSE_UNAVAILABLE относится к Windows Media DRM для сетевых устройств, а не медиадекодер; этот слой реализует протокол передатчика и приёмника, регистрирует сетевое устройство воспроизведения, подтверждает его, проверяет близость, открывает защищённый сеанс и преобразует лицензированное содержимое для приёмника.
Расследование становится предметным после прямой проверки: запросите KID содержимого и действие до начала transcryption. Штатное описание AllStat приведено выше; этот раздел посвящён состоянию объекта и данным, позволяющим отличить NS_E_DRM_LICENSE_UNAVAILABLE от соседних ошибок Windows Media.
Значимое состояние времени выполнения
Решение безопасности для NS_E_DRM_LICENSE_UNAVAILABLE зависит от версии компонента DRM, KID, подписи заголовка содержимого, цепочки и вышестоящей лицензии, состояния индивидуализации, регистрации устройств и локальной конфигурации. Сохраните KID и хэш заголовка, версии компонентов, состояние индивидуализации, идентификаторы цепочки лицензий и первый обратный вызов со сбоем, применительно к состоянию «лицензия недоступна».
Формирующий слой не делает вывода обо всех операциях с мультимедиа; он установил только следующее: ни одна доступная передатчику лицензия не разрешает запрошенное действие WMDRM-ND.
Практический путь диагностики
- Сохраните
NS_E_DRM_LICENSE_UNAVAILABLEи0xC00D28A2до очистки, перехода к резервному пути или смены контекста другим медиаэлементом. - Выполните прямую проверку для
NS_E_DRM_LICENSE_UNAVAILABLE: запросите KID содержимого и действие до начала transcryption. - Сравните сбой с заведомо исправным случаем, изменив только свойство, указанное этим условием: ни одна доступная передатчику лицензия не разрешает запрошенное действие WMDRM-ND.
- Примените узкое исправление для
NS_E_DRM_LICENSE_UNAVAILABLEполучите или установите лицензию, разрешающую воспроизведение на сетевом устройстве. - Свяжите
NS_E_DRM_LICENSE_UNAVAILABLEс текущим объектом WMDRM для сетевых устройств и запрошенным действием. - Повторите то же действие с тем же содержимым и идентификатором устройства и убедитесь, что
NS_E_DRM_LICENSE_UNAVAILABLEне заменена другой ошибкой политики или доверия.
Сравнение с одной переменной
NS_E_DRM_LICENSE_UNAVAILABLE следует моделировать как невыполненную предпосылку, а не как произвольное исключение мультимедиа. Подтвердите предпосылку, запросив KID содержимого и действие до начала transcryption, и устраните её, получив или установив лицензию, разрешающую воспроизведение на сетевом устройстве. Результат NS_E_DRM_LICENSE_UNAVAILABLE подходит для регрессионного теста, поскольку ожидаемое изменение состояния можно наблюдать без ослабления политики DRM.
Не диагностируйте неправильный слой
Для NS_E_DRM_LICENSE_UNAVAILABLE, установленный факт состоит в следующем: Ни одна доступная передатчику лицензия не разрешает запрошенное действие WMDRM-ND. Для NS_E_DRM_LICENSE_UNAVAILABLEэтот факт сам по себе не доказывает повреждение медиаданных, отсутствие декодера, общий сетевой сбой или недействительность прав для всех остальных действий.
Если Player, кодировщик, программа установки или уровень устройства позднее выдаёт более общую ошибку, сохраните NS_E_DRM_LICENSE_UNAVAILABLE как первый конкретный результат. Объект и операция, связанные с NS_E_DRM_LICENSE_UNAVAILABLE , обычно диагностически ценнее более позднего результата очистки или сводного сообщения интерфейса.
Требования к трассировке
| Поле | Значение для NS_E_DRM_LICENSE_UNAVAILABLE |
|---|---|
| Владелец | операция, API или обратный вызов, идентификатор объекта или сеанса и версия компонента или устройства, связанные с NS_E_DRM_LICENSE_UNAVAILABLE |
| Прямая проверка | запросите KID содержимого и действие до начала transcryption |
| Входные данные политики | запрошенное действие и точное свойство лицензии, сертификата, профиля, выхода или регистрации, проверяемое при NS_E_DRM_LICENSE_UNAVAILABLE |
| Временное состояние | доверенное или системное время, интервал действия, последовательность запросов и номер повторной попытки, если они влияют на NS_E_DRM_LICENSE_UNAVAILABLE |
| Результат нижнего уровня | самый ранний статус хранилища, сети, криптографического компонента, драйвера или поставщика перед итоговой оболочкой NS_E_DRM_LICENSE_UNAVAILABLE |
Что означал бы другой код
| Результат | Почему он указывает на другую причину |
|---|---|
NS_E_DRM_INVALID_CERTIFICATE | Недопустимый сертификат DRM |
NS_E_DRM_CERTIFICATE_REVOKED | Сертификат узла WMDRM-ND отозван |
NS_E_DRM_DEVICE_LIMIT_REACHED | Достигнут предел числа зарегистрированных устройств |
Как выглядит успешное завершение
Соответствующее исправление: получите или установите лицензию, разрешающую воспроизведение на сетевом устройстве. Для NS_E_DRM_LICENSE_UNAVAILABLEуспех означает принятие того же запрошенного действия после этого точного изменения состояния, а не просто работу другого файла или устройства.
- Данные для
NS_E_DRM_LICENSE_UNAVAILABLEлегко уничтожить; не удаляйте всю базу регистрации устройств до сохранения сбойной записи устройства и цепочки сертификатов: иначе исчезает различие между сбоями регистрации, одобрения, проверки и сеанса. - Не изменяйте доверенное время, контроль отзыва, проверку сертификатов или политику выхода только ради подавления
NS_E_DRM_LICENSE_UNAVAILABLE; это обходит решение, а не исправляет его входные данные. - Сохраните один сбойный и один исправленный артефакт, чтобы устранение
NS_E_DRM_LICENSE_UNAVAILABLEможно было проверять при регрессионном тестировании.
Регрессионная проверка
В итоговом тесте NS_E_DRM_LICENSE_UNAVAILABLE по возможности оставьте неизменными KID содержимого или хэш файла, запрошенное действие, пользователя или учётную запись, идентификатор устройства и маршрут выхода. Случай NS_E_DRM_LICENSE_UNAVAILABLE разрешён только тогда, когда операция завершается без этого HRESULT и без замещающей ошибки соседней проверки лицензии, доверия, сеанса или политики.
Технические ссылки для NS_E_DRM_LICENSE_UNAVAILABLE
- Windows Media DRM 10 для сетевых устройств — описывает нормативный рабочий процесс, относящийся к NS_E_DRM_LICENSE_UNAVAILABLE.
- Регистрация устройства — перечисляет переходы безопасности и состояния, используемые при интерпретации NS_E_DRM_LICENSE_UNAVAILABLE.
- Использование протокола WMDRM-ND — определяет объекты платформы, используемые при диагностике NS_E_DRM_LICENSE_UNAVAILABLE.
- Спецификация протокола MS-DRMND — документирует границу протокола или API, связанную с NS_E_DRM_LICENSE_UNAVAILABLE.
Нужно найти другой код? Найти другой код состояния или ошибки.