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