| Предыдущий | Следующий |
| NS_E_DRM_STUBLIB_REQUIRED | NS_E_DRM_MIGRATION_TARGET_NOT_ONLINE |
NS_E_DRM_UNABLE_TO_CREATE_CERTIFICATE_OBJECT
Где остановилась операция
NS_E_DRM_UNABLE_TO_CREATE_CERTIFICATE_OBJECT — это HRESULT Windows Media DRM 0xC00D2786. Он означает, что среда DRM не может создать объект сертификата, необходимый для этой операции. Полезная область диагностики — обращённый к приложению слой, который инициализирует поддержку DRM, проверяет параметры и свойства, создаёт специализированные объекты и асинхронно передаёт состояние вызывающей стороне; это не общее утверждение о сбое проигрывателя, сети или файловой системы при трассировке невозможности создать объект сертификата.
Для NS_E_DRM_UNABLE_TO_CREATE_CERTIFICATE_OBJECT, встроенное сообщение кратко описывает видимый пользователю результат, а символьная фраза «невозможно создать объект сертификата» сохраняет точную границу WMDRM для диагностики. Для этого кода подтверждением служит фиксация вызова фабрики или интерфейса, версий среды выполнения и stub-библиотеки, состояния внешнего объекта и первого внутреннего HRESULT в рабочем процессе создания объекта сертификата.
Последовательность диагностики
- Начните с
0xC00D2786и сопоставьте его с первым объектом WMDRM, который его вернул, при диагностике невозможности создать объект сертификата. - Для
NS_E_DRM_UNABLE_TO_CREATE_CERTIFICATE_OBJECT, разделяйте доказательства содержимого или заголовка, лицензии, компьютера или устройства и службы или сети вокруг «ошибка создания объекта сертификата». - Перед повтором
NS_E_DRM_UNABLE_TO_CREATE_CERTIFICATE_OBJECT, проверьте, выполнялась ли другая операция «ошибка создания объекта сертификата» или мог ли предыдущий результат быть зафиксирован частично. - Для
NS_E_DRM_UNABLE_TO_CREATE_CERTIFICATE_OBJECTзафиксировать вызов фабрики или интерфейса, версии среды выполнения и stub-библиотеки, состояние внешнего объекта и первый внутренний HRESULT при трассировке ошибки создания объекта сертификата. - Примените минимальное поддерживаемое исправление: исправьте компонент, версию или состояние инициализации и создайте новый объект сертификата; не сбрасывайте несвязанное защищённое состояние для этого результата невозможности создать объект сертификата.
Данные, которые следует сохранить
Зафиксируйте первое появление NS_E_DRM_UNABLE_TO_CREATE_CERTIFICATE_OBJECT появление до того, как автоматический повтор, завершение проигрывателя, восстановление хранилища или повторное получение лицензии изменят состояние, на пути ошибки создания объекта сертификата. Минимальный полезный набор данных включает:
- Подтверждение для этого кода: зафиксировать вызов фабрики или интерфейса, версии среды выполнения и stub-библиотеки, состояние внешнего объекта и первый внутренний HRESULT при трассировке ошибки создания объекта сертификата.
- Защищённая идентичность: имя, тип и размер свойства, а также порядок инициализации в инциденте с ошибкой создания объекта сертификата.
- Состояние операции: состояние операции, последовательность обратных вызовов и владельца отмены при трассировке ошибка создания объекта сертификата.
- Хранилище или транспорт: первый внутренний HRESULT до того, как приложение заменит его общей ошибкой, при воспроизведении ошибки создания объекта сертификата.
- Контекст безопасности: точный метод интерфейса и тип создаваемого объекта при диагностике ошибка создания объекта сертификата.
- Точка корреляции: версию SDK или среды выполнения и связанную stub-библиотеку DRM при диагностике ошибки создания объекта сертификата.
При расследовании ошибки «невозможно создать объект сертификата» по возможности используйте KID, идентификаторы лицензий, хеши, отпечатки сертификатов, размеры и временные метки. При диагностике NS_E_DRM_UNABLE_TO_CREATE_CERTIFICATE_OBJECT, не помещайте ключи содержимого, полные блоки лицензий, пароли, cookie или расшифрованные медиаданные в обычные журналы в рабочем процессе создания объекта сертификата.
Состояние протокола и хранилища
Клиент DRM предоставляет разные объекты для управления лицензиями, индивидуализации, шифрования, резервного копирования, измерений и регистрации устройств; невозможность создать один объект не доказывает повреждение всего состояния DRM при воспроизведении невозможности создать объект сертификата. Для NS_E_DRM_UNABLE_TO_CREATE_CERTIFICATE_OBJECT, многие операции асинхронны и зависят от состояния, поэтому время жизни объекта и порядок завершения входят в контракт API в рабочем процессе невозможности создать объект сертификата.
Исправление формирующего условия
Поддерживаемое исправление для NS_E_DRM_UNABLE_TO_CREATE_CERTIFICATE_OBJECT узкое: исправьте компонент, версию или состояние инициализации и создайте новый объект сертификата на пути невозможности создать объект сертификата. После исправления NS_E_DRM_UNABLE_TO_CREATE_CERTIFICATE_OBJECT, повторно откройте или создайте объект, которому принадлежало состояние «ошибка создания объекта сертификата», чтобы кэшированное состояние неудачного поколения не было принято за результат исправления.
Показательный случай: Приложение доходит до этапа создания объекта сертификата, но создание объекта завершается неудачей до начала какой-либо работы с содержимым или сервером, для результата ошибки создания объекта сертификата.
Связанные коды и диагностическое различие
| Результат | Другая граница |
|---|---|
NS_E_DRM_STUBLIB_REQUIRED | Приложение не предоставило идентичность требуемой stub-библиотеки DRM для границы невозможности создать объект сертификата. |
NS_E_DRM_UNABLE_TO_CREATE_INMEMORYSTORE_OBJECT | Среда DRM не может создать объект сертификата, необходимый для этой операции, при диагностике ошибка создания объекта сертификата. |
NS_E_DRM_BB_UNABLE_TO_INITIALIZE | Компонент корня доверия DRM не может инициализироваться в инциденте с невозможностью создать объект сертификата. |
Несколько значений могут сопровождать условие «невозможно создать объект сертификата» в одном инциденте. Упорядочьте NS_E_DRM_UNABLE_TO_CREATE_CERTIFICATE_OBJECT цепочку событий по времени и отдавайте приоритет первому коду, сформированному на самой низкой конкретной границе, а не более поздней сводке проигрывателя, в рабочем процессе создания объекта сертификата.
Регрессионная проверка
Корректный регрессионный тест для NS_E_DRM_UNABLE_TO_CREATE_CERTIFICATE_OBJECT имеет два тестовых варианта: один намеренно создаёт условие «среда DRM не может создать объект сертификата, необходимый для этой операции», второй применяет целевое исправление для границы невозможности создать объект сертификата. Для NS_E_DRM_UNABLE_TO_CREATE_CERTIFICATE_OBJECT, сравните порядок обратных вызовов, выбранную лицензию или KID, итоговое решение о правах и состояние сохранения; исчезновение диалога «ошибка создания объекта сертификата» само по себе не является подтверждением.
За что отвечал бы отсутствующий объект
для значения NS_E_DRM_UNABLE_TO_CREATE_CERTIFICATE_OBJECT объект сертификата обычно разбирает и проверяет сертификаты приложения, устройства или службы, используемые DRM, при диагностике невозможности создать объект сертификата. Сбой создания объекта происходит до передачи этой ответственности рабочему интерфейсу, поэтому более поздние сообщения проигрывателя или сервера вторичны в инциденте с невозможностью создать объект сертификата.
Именно для этого объекта сохраните назначение сертификата, отпечаток, цепочку и результат проверки подписи для этого результата невозможности создать объект сертификата. Успешное исправление должно позволить создать новый объект сертификата и выполнить его первую реальную операцию, а не только заставить фабричный вызов вернуть другую общую ошибку при воспроизведении невозможности создать объект сертификата.
Технические ссылки
- Интерфейсы клиента DRM — официальный контекст Windows Media DRM для
NS_E_DRM_UNABLE_TO_CREATE_CERTIFICATE_OBJECT. - Руководство по программированию клиента DRM — правила API и состояния, относящиеся к границе
NS_E_DRM_UNABLE_TO_CREATE_CERTIFICATE_OBJECT. - Получение требуемой библиотеки DRM — документация платформы, используемая для отличия
NS_E_DRM_UNABLE_TO_CREATE_CERTIFICATE_OBJECTот соседних результатов. - Коды ошибок Windows Media DRM — официальный контекст Windows Media DRM для
NS_E_DRM_UNABLE_TO_CREATE_CERTIFICATE_OBJECT.
Нужно найти другой код? Найти другой код состояния или ошибки.