| Предыдущий | Следующий |
| NS_E_WMP_DRM_LICENSE_EXPIRED | NS_E_WMP_DRM_LICENSE_NOTENABLED |
NS_E_WMP_DRM_LICENSE_NOTACQUIRED
Сначала интерпретируйте код, а не сообщение
Компонент, сформировавший 0xC00D1204 установил, что проигрыватель завершил или прекратил получение прав, не установив пригодную подходящую лицензию. NS_E_WMP_DRM_LICENSE_NOTACQUIRED формируется подсистемой обработки прав Windows Media Player, которая открывает защищённые медиафайлы, проверяет состояние локальной лицензии, выполняет фоновое или интерактивное получение прав, проверяет компоненты DRM и применяет ограничения на воспроизведение, запись и синхронизацию.
Используйте саму неудачную операцию, чтобы сопоставить KID содержимого с ответом получения лицензии и последующим перечислением локального хранилища. Стандартное описание AllStat уже приведено выше; здесь рассматриваются состояние объекта и данные, необходимые, чтобы отличить NS_E_WMP_DRM_LICENSE_NOTACQUIRED от соседних ошибок Windows Media.
Сопоставьте ответственный компонент и политику
Полный набор данных по инциденту связывает KID и заголовок содержимого, запись хранилища лицензий, запрошенное действие, URL получения лицензии, контекст пользователя и хранилища, защищённые часы и версию компонентов DRM. Минимально сопоставьте KID содержимого, запрошенное действие, результат запроса состояния лицензии, последовательность callback при получении, категорию ответа сервера и первый нижележащий HRESULT DRM.
Сравнение полезно только при сохранении исходного факта: проигрыватель завершил или прекратил получение прав, не установив пригодную подходящую лицензию.
Почему важен первый HRESULT
Сравнение состояния до и после для этого результата имеет одну контролируемую переменную. До исправления получение прав завершается без установки пригодной лицензии; после исправления тот же процесс должен устранить сбой входа, ответа или установки и повторно получить лицензию. для этого результата используйте заведомо исправный аналог только как контрольный случай; не заменяйте сбойный материал до фиксации его идентификаторов и хэшей.
Минимальный набор данных
| Поле | Значение для этого результата |
|---|---|
| Прямая проверка | сопоставьте KID содержимого с ответом получения лицензии и последующим перечислением локального хранилища |
| Входные данные политики | запрошенное действие и точное свойство лицензии, сертификата, профиля, выхода или регистрации, проверяемое при получении этого результата |
| Временное состояние | доверенное или системное время, интервал действия, последовательность запросов и номер повторной попытки, если они влияют на результат |
| Результат нижнего уровня | самый ранний статус хранилища, сети, криптографического компонента, драйвера или поставщика перед итоговым HRESULT |
| Владелец | операция, API или обратный вызов, идентификатор объекта или сеанса и версия компонента или устройства, связанные с этим результатом |
Контролируемое воспроизведение
- Сохраните
NS_E_WMP_DRM_LICENSE_NOTACQUIREDи0xC00D1204до очистки, перехода к резервному пути или смены контекста другим медиаэлементом. - Сравните сбой с заведомо исправным случаем, изменив только условие, из-за которого получение прав не установило пригодную подходящую лицензию.
- Примените узкое исправление для этого результата: устраните сбой входа, ответа или установки и повторно получите лицензию.
- Свяжите этот HRESULT с его текущим объектом обработки прав Windows Media Player и запрошенным действием.
- Выполните прямую проверку для этого результата: сопоставьте KID содержимого с ответом получения лицензии и последующим перечислением локального хранилища.
- Повторите то же действие с тем же содержимым и идентификатором устройства и убедитесь, что исходная ошибка не заменена другой ошибкой политики или доверия.
Итоговое сообщение может быть более общим
Для этого результата установленный факт состоит в том, что проигрыватель завершил или прекратил получение прав, не установив пригодную подходящую лицензию. для этого результата сам по себе этот факт не доказывает повреждение медиаданных, отсутствие декодера, общий сетевой сбой или недействительность прав для всех остальных действий.
Если Player, кодировщик, программа установки или уровень устройства позднее выдаёт более общую ошибку, сохраните этот HRESULT как первый конкретный результат. Объект и операция, связанные с этим HRESULT, обычно диагностически ценнее более позднего результата очистки или сводного сообщения интерфейса.
Сравните со связанными результатами
| Результат | Почему он указывает на другую причину |
|---|---|
NS_E_WMP_DRM_ACQUIRING_LICENSE | второй запрос прав проигрывателя поступил, когда транзакция получения лицензии уже выполнялась |
NS_E_WMP_DRM_LICENSE_EXPIRED | подходящая лицензия проигрывателя находится вне разрешённого интервала использования |
NS_E_WMP_DRM_LICENSE_NOTENABLED | лицензия существует, но условие начала её действия ещё не выполнено |
Восстановление на правильном уровне
Корректный рабочий ответ — устранить сбой входа, ответа или установки и повторно получить лицензию. для этого результата успех означает принятие того же запрошенного действия после этого точного изменения состояния, а не просто работу другого файла или устройства.
- Широкий сброс не является первым действием для этого результата; не сбрасывайте локальное хранилище DRM до фиксации KID содержимого и результата проверки лицензии: сброс может превратить точную ошибку прав или подписи в общий случай отсутствующей лицензии.
- Не изменяйте доверенное время, контроль отзыва, проверку сертификатов или политику выхода только ради подавления этой ошибки; это обходит решение, а не исправляет его входные данные.
- Сохраните один сбойный и один исправленный артефакт, чтобы устранение этой ошибки можно было проверять при регрессионном тестировании.
Повторно проверьте исходный случай
В итоговом тесте NS_E_WMP_DRM_LICENSE_NOTACQUIRED по возможности оставьте неизменными KID содержимого или хэш файла, запрошенное действие, пользователя или учётную запись, идентификатор устройства и маршрут выхода. Случай считается разрешённым только тогда, когда операция завершается без этого HRESULT и без замещающей ошибки соседней проверки лицензии, доверия, сеанса или политики.
Технические ссылки
- Обзор Windows Media DRM — описывает нормативный рабочий процесс, относящийся к этому случаю.
- Получение лицензий — перечисляет переходы безопасности и состояния, используемые при интерпретации этого результата.
- Лицензии и локальное хранилище лицензий — определяет объекты платформы, используемые при диагностике этого результата.
- Коды ошибок Windows Media Format SDK — документирует границу протокола или API, связанную с этим результатом.
Нужно найти другой код? Найти другой код состояния или ошибки.
