| Предыдущий | Следующий |
| NS_E_DRM_UNABLE_TO_CREATE_AUTHENTICATION_OBJECT | NS_E_DRM_DEVICE_ACTIVATION_CANCELED |
NS_E_DRM_NOT_CONFIGURED
Как классифицировать этот результат
Символьный результат NS_E_DRM_NOT_CONFIGURED сужает значение 0xC00D2764 к контракту API клиента Windows Media DRM и жизненному циклу объектов в пути «DRM не настроен». На практике для предполагаемой операции заданы не все обязательные свойства DRM; формирующий слой — обращённый к приложению уровень, который инициализирует поддержку DRM, проверяет параметры и свойства, создаёт специализированные объекты и передаёт вызывающей стороне асинхронное состояние, при трассировке состояния «DRM не настроен».
Для NS_E_DRM_NOT_CONFIGURED, встроенное сообщение описывает видимый пользователю результат, а символьная фраза «DRM не настроен» сохраняет точную границу WMDRM для диагностики. Для подтверждения этого кода выполните прямую проверку: перечислите обязательные свойства и зафиксируйте, какое из них не задано при активации объекта, на границе состояния «DRM не настроен».
Как доказать условие
- Найдите самый ранний возврат API, обратный вызов или событие, содержащее
NS_E_DRM_NOT_CONFIGUREDи0xC00D2764. - Для
NS_E_DRM_NOT_CONFIGURED, определите точное поколение объекта содержимого, лицензии, хранилища, устройства или миграции, участвующее в «DRM не настроен». - Для
NS_E_DRM_NOT_CONFIGURED, определите, возникло ли «DRM не настроен» до сетевого обмена, при проверке ответа, во время применения политики или при фиксации защищённого состояния. - Выполните проверку, специфичную для этого кода: перечислите обязательные свойства и зафиксируйте, какое из них не задано при активации объекта, при диагностике состояния «DRM не настроен».
- Внесите одно точечное исправление — задайте полный документированный набор свойств до запуска операции — и повторите ту же операцию, сформировавшую ошибку, применительно к состоянию «DRM не настроен».
Какой компонент владеет сбоем
Не сводите NS_E_DRM_NOT_CONFIGURED в общую ошибку DRM для результата «DRM не настроен». Клиент DRM предоставляет разные объекты для управления лицензиями, индивидуализации, шифрования, резервного копирования, учёта и регистрации устройств; невозможность создать один объект не доказывает повреждение всего состояния DRM, при воспроизведении состояния «DRM не настроен». Кроме того, многие операции асинхронны и зависят от состояния, поэтому время жизни объекта и порядок завершения входят в контракт API в процессе «DRM не настроен».
Диагностические данные, разделяющие причины
Зафиксируйте первое появление NS_E_DRM_NOT_CONFIGURED до того, как автоматический повтор, завершение Player, восстановление хранилища или повторное получение лицензии изменит состояние, в пути обработки состояния «DRM не настроен». Минимальная полезная запись содержит:
- Подтверждение для этого кода: перечислите обязательные свойства и зафиксируйте, какое из них не задано при активации объекта, при трассировке состояния «DRM не настроен».
- Защищённая идентичность: первый внутренний HRESULT до его замены приложением на общую ошибку, на границе состояния «DRM не настроен».
- Состояние операции: точный метод интерфейса и тип создаваемого объекта, при диагностике состояния «DRM не настроен».
- Хранилище или транспорт: версию SDK или среды выполнения и подключённую библиотеку-заглушку DRM, в инциденте «DRM не настроен».
- Контекст безопасности: имя, тип и размер свойства, а также порядок инициализации, для результата «DRM не настроен».
- Точка корреляции: состояние операции, последовательность обратных вызовов и владельца отмены, при воспроизведении этой ошибки, при воспроизведении состояния «DRM не настроен».
При расследовании «DRM не настроен» по возможности используйте KID, идентификаторы лицензий, хэши, отпечатки сертификатов, размеры и временные метки. Во время диагностики NS_E_DRM_NOT_CONFIGURED, не помещайте в обычные журналы ключи содержимого, полные блоки лицензий, пароли, cookie или расшифрованные мультимедиа, в процессе обработки состояния «DRM не настроен».
Распространённые, но небезопасные действия для состояния «DRM не настроен»
- Не повторяйте создание объекта в цикле без сохранения первого HRESULT и версий среды выполнения в пути «DRM не настроен». Это изменяет доказательства, не показывая, почему
NS_E_DRM_NOT_CONFIGURED. - Не заменяйте HRESULT DRM общей ошибкой приложения до того, как телеметрия его зафиксирует, при трассировке состояния «DRM не настроен». Для
NS_E_DRM_NOT_CONFIGURED, такой подход может создать дополнительную проблему хранилища, идентификации или политики, на границе состояния «DRM не настроен». - Не сводите
NS_E_DRM_NOT_CONFIGUREDдо фразы «ошибка DRM» в телеметрии; сохраняйте HRESULT, символьное имя, операцию и идентификатор объекта, при диагностике состояния «DRM не настроен».
Что должно изменить поддерживаемое исправление
Для NS_E_DRM_NOT_CONFIGURED, исправление должно устранять именно формирующую причину: задайте полный документированный набор свойств до запуска операции, в инциденте «DRM не настроен». Сохраните исходный заголовок содержимого, хранилище или материалы миграции для NS_E_DRM_NOT_CONFIGURED до тех пор, пока операция «DRM не настроен» не завершится успешно и результат не сохранится после создания нового объекта приложения или обязательного перезапуска.
Показательный случай: Сеанс шифрования запускается без идентификатора содержимого или метаданных получения лицензии для результата «DRM не настроен».
Не объединяйте эти HRESULT
| Результат | Другая граница |
|---|---|
NS_E_DRM_UNABLE_TO_CREATE_AUTHENTICATION_OBJECT | Среда DRM не может создать объект аутентификации, необходимый для этой операции, при воспроизведении состояния «DRM не настроен». |
NS_E_DRM_OPERATION_CANCELED | Активная операция DRM была отменена до завершения в процессе «DRM не настроен». |
NS_E_DRM_STORE_NOTALLSTORED | Не удалось сохранить часть лицензий в пути «DRM не настроен». |
Одно условие «DRM не настроен» может сопровождаться несколькими значениями. Упорядочьте цепочку событий NS_E_DRM_NOT_CONFIGURED по временным меткам и отдавайте приоритет первому коду на самой низкой конкретной границе, а не позднему сводному результату Player, при трассировке состояния «DRM не настроен».
Как убедиться, что исправление действительно
После исправления пересоздайте объект WMDRM и выполните минимальный пример для NS_E_DRM_NOT_CONFIGURED. Убедитесь, что 0xC00D2764 больше не возникает, требуемое лицензионное действие завершается, а вместо него не появляется предупреждение хранилища, сертификата, часов или миграции, на границе состояния «DRM не настроен».
Практическое примечание для этого кода
Символьная фраза «DRM не настроен» является важным ключом поиска и телеметрии для NS_E_DRM_NOT_CONFIGURED. Храните её рядом с точным значением 0xC00D2764; официальное сообщение «Заданы не все обязательные свойства DRM» полезно пользователю, но само по себе не определяет формирующий API, поколение объекта или защищённую идентичность при диагностике состояния «DRM не настроен».
Технические ссылки
- Клиентские интерфейсы DRM — правила API и состояния, относящиеся к границе
NS_E_DRM_NOT_CONFIGURED. - Руководство по программированию клиента DRM — документация платформы, используемая для отличия
NS_E_DRM_NOT_CONFIGUREDот соседних результатов. - Получение требуемой библиотеки DRM — официальный контекст Windows Media DRM для
NS_E_DRM_NOT_CONFIGURED. - Коды ошибок Windows Media DRM — правила API и состояния, относящиеся к границе
NS_E_DRM_NOT_CONFIGURED.
Нужно найти другой код? Найти другой код состояния или ошибки.