| Предыдущий | Следующий |
| NS_E_DRM_LICENSE_CONTENT_REVOKED | NS_E_DRM_LICENSE_NOSAP |
NS_E_DRM_DEVICE_NOT_REGISTERED
Что именно изолирует этот HRESULT
Когда клиент возвращает NS_E_DRM_DEVICE_NOT_REGISTERED (0xC00D27E2), решающим условием является то, что Устройство DRM не зарегистрировано. Для незарегистрированного устройства этот результат относится к сертификату, защищённым часам и политике передачи — пути аутентификации WMDRM, получения сертификата и часов, оценки политики и фиксации регистрации.
Для NS_E_DRM_DEVICE_NOT_REGISTERED, встроенное сообщение описывает видимый пользователю результат, а символьное имя сохраняет точную границу WMDRM для диагностики. Для подтверждения этого кода зафиксируйте сертификат устройства, запись в базе регистрации и выбранную политику лицензии.
Минимальная запись об инциденте
Зафиксируйте первое появление NS_E_DRM_DEVICE_NOT_REGISTERED до того, как автоматический повтор, уничтожение Player, восстановление хранилища или повторное получение лицензии изменит состояние в инциденте устройство DRM не зарегистрировано. Минимальная полезная запись содержит:
- Подтверждение для этого кода для состояния «устройство DRM не зарегистрировано»: зафиксируйте сертификат устройства, запись базы регистрации и выбранную политику лицензии, для этого результата.
- Защищённая идентичность для состояния «устройство DRM не зарегистрировано»: цепочку сертификатов устройства и его серийную идентичность, при воспроизведении этой ошибки.
- Состояние операции для состояния «устройство DRM не зарегистрировано»: значение защищённых часов, их источник и время последнего успешного обновления, в ходе обработки этой ошибки.
- Хранилище или транспорт для состояния «устройство DRM не зарегистрировано»: запрошенное действие передачи или записи и лицензионное ограничение.
- Контекст безопасности для состояния «устройство DRM не зарегистрировано»: результат активации, регистрации и учёта устройства, при трассировке этой ошибки.
- Точка корреляции для состояния «устройство DRM не зарегистрировано»: модель устройства, версию микропрограммы и поддержку WMDRM, на границе этой ошибки.
При расследовании «устройство DRM не зарегистрировано» по возможности используйте KID, идентификаторы лицензий, хэши, отпечатки сертификатов, размеры и временные метки. Во время диагностики NS_E_DRM_DEVICE_NOT_REGISTEREDне записывайте в обычные журналы ключи содержимого, полные двоичные данные лицензий, пароли, cookie или расшифрованные мультимедиа.
Первичная диагностика без уничтожения данных
- Начните с
0xC00D27E2и сопоставьте его с первым объектом WMDRM, вернувшим ошибку, в инциденте устройство DRM не зарегистрировано. - Для
NS_E_DRM_DEVICE_NOT_REGISTERED, разделите данные заголовка и содержимого, сведения о лицензии, состоянии компьютера или устройства и данные службы или сети вокруг условия «устройство DRM не зарегистрировано». - Перед повтором
NS_E_DRM_DEVICE_NOT_REGISTEREDпроверьте, не была ли активна другая операция «устройство DRM не зарегистрировано» и не мог ли предыдущий результат частично зафиксироваться. - Для
NS_E_DRM_DEVICE_NOT_REGISTERED, зафиксируйте данные прямой проверки, относящиеся к этому HRESULT. - Примените минимальное поддерживаемое исправление: исправьте состояние или входные данные на уровне, сформировавшем ошибку, и повторите операцию с новым объектом; не сбрасывайте не связанное с ошибкой защищённое состояние, применительно к состоянию «устройство DRM не зарегистрировано».
Почему важен уровень, вернувший код
Для NS_E_DRM_DEVICE_NOT_REGISTEREDдействуют два правила платформы. Незарегистрированное устройство может быть доступно как обычное хранилище, но не проходить аутентификацию WMDRM и требования политики передачи. При регистрации лицензии со сроком действия или подпиской могут требовать доверенных часов устройства; изменение часов компьютера не создаёт отсутствующие часы устройства.
Восстановление на правильном уровне
Поддерживаемое исправление для NS_E_DRM_DEVICE_NOT_REGISTERED имеет узкое исправление: устраните причину состояния «устройство DRM не зарегистрировано» и повторите операцию с новым объектом. После устранения NS_E_DRM_DEVICE_NOT_REGISTEREDповторно откройте или создайте объект, которому принадлежало условие «устройство DRM не зарегистрировано», чтобы кэшированное состояние сбойного экземпляра не было принято за результат исправления.
Показательный случай: Новое подключённое устройство прошло проверку подлинности, но ещё не зарегистрировано для этого компьютера.
Почему важно символьное имя
| Результат | Другая граница |
|---|---|
NS_E_DEVICE_NOT_WMDRM_DEVICE | Подключённое устройство не объявляет поддержку WMDRM, необходимую для этой передачи. |
NS_E_DRM_LIC_NEEDS_DEVICE_CLOCK_SET | Выбранная лицензия требует защищённых часов устройства, которые не были установлены. |
NS_E_DRM_TRANSFER_CHAINED_LICENSES_UNSUPPORTED | Соседний код указывает, что передача на устройство не поддерживает выбранную связь цепочки лицензий; текущий код означает отсутствие требуемой регистрации. |
Одно условие «устройство DRM не зарегистрировано» может сопровождаться несколькими значениями. Упорядочьте цепочку событий NS_E_DRM_DEVICE_NOT_REGISTERED по времени и предпочитайте первый код, созданный на самой низкой конкретной границе, более позднему сводному результату Player при воспроизведении устройство DRM не зарегистрировано.
Сокращения пути, ухудшающие диагностику для состояния «устройство DRM не зарегистрировано»
- Не форматируйте устройство до сохранения его сертификата, часов и сведений о прошивке. Это изменяет данные, не показывая, почему был получен
NS_E_DRM_DEVICE_NOT_REGISTERED. - Не сводите результат о неподдерживаемом устройстве к общей ошибке USB или копирования файлов. Для
NS_E_DRM_DEVICE_NOT_REGISTEREDтакой подход может создать вторую проблему хранилища, идентификатора или политики при трассировке устройство DRM не зарегистрировано. - Не сводите
NS_E_DRM_DEVICE_NOT_REGISTEREDк «сбой DRM» в телеметрии; сохраняйте HRESULT, символьное имя, операцию и идентификатор объекта для границы устройство DRM не зарегистрировано.
Критерии завершения
Корректный регрессионный тест для NS_E_DRM_DEVICE_NOT_REGISTERED содержит два набора данных: один намеренно вызывает условие «операция завершилась состоянием «устройство DRM не зарегистрировано»», а другой применяет целевое исправление при диагностике устройство DRM не зарегистрировано. Для NS_E_DRM_DEVICE_NOT_REGISTEREDсравните порядок обратных вызовов, выбранную лицензию и KID, итоговое решение о правах и сохранённое состояние; исчезновение одного диалогового окна не доказывает исправление.
Практическое примечание для этого кода
Символьная фраза «устройство DRM не зарегистрировано» является важным ключом поиска и телеметрии для NS_E_DRM_DEVICE_NOT_REGISTERED. Храните её рядом с точным значением 0xC00D27E2; официальное сообщение «устройство DRM не зарегистрировано» полезно пользователю, но само по себе не определяет API, поколение объекта или защищённый идентификатор, сформировавшие ошибку.
Технические ссылки
- Интерфейс IWMDRMDeviceApp — официальный контекст Windows Media DRM для
NS_E_DRM_DEVICE_NOT_REGISTERED. - Регистрация устройства — правила API и состояния, относящиеся к границе
NS_E_DRM_DEVICE_NOT_REGISTERED. - Уровни защиты выхода — документация платформы, используемая для отличия
NS_E_DRM_DEVICE_NOT_REGISTEREDот соседних результатов. - Коды ошибок Windows Media DRM — официальный контекст Windows Media DRM для
NS_E_DRM_DEVICE_NOT_REGISTERED.
Нужно найти другой код? Найти другой код состояния или ошибки.