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