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