Что означает код HRESULT 0xC00D274A (NS_E_DRM_SECURE_STORE_NOT_FOUND)?

 
Предыдущий Следующий
NS_E_DRM_INVALID_PROPERTY NS_E_DRM_CACHED_CONTENT_ERROR

NS_E_DRM_SECURE_STORE_NOT_FOUND

Как классифицировать этот результат

Символьный результат NS_E_DRM_SECURE_STORE_NOT_FOUND сужает значение 0xC00D274A к локальному хранилищу лицензий, защищённому хранилищу и привязке к компьютеру в инциденте «защищённое хранилище не найдено». На практике операция «защищённое хранилище не найдено» завершилась ошибкой на документированной границе DRM; формирующий слой — защищённые хранилища лицензий и состояния DRM вместе с аппаратными данными и контрольными точками, привязывающими это состояние к конкретной установке, для результата «защищённое хранилище не найдено».

Для NS_E_DRM_SECURE_STORE_NOT_FOUND, встроенное сообщение описывает видимый пользователю результат, а символьная фраза «защищённое хранилище не найдено» сохраняет точную границу WMDRM для диагностики. Для подтверждения кода запишите точный API, состояние объекта, идентификатор входных данных и первый низкоуровневый результат, применительно к состоянию «защищённое хранилище не найдено».

Как доказать условие

  1. Найдите самый ранний возврат API, обратный вызов или событие, содержащее NS_E_DRM_SECURE_STORE_NOT_FOUND и 0xC00D274A.
  2. Для NS_E_DRM_SECURE_STORE_NOT_FOUND, определите точное поколение объекта содержимого, лицензии, хранилища, устройства или миграции, участвующее в «защищённое хранилище не найдено».
  3. Для NS_E_DRM_SECURE_STORE_NOT_FOUND, определите, возникло ли «защищённое хранилище не найдено» до сетевого обмена, при проверке ответа, во время применения политики или при фиксации защищённого состояния.
  4. Выполните проверку именно для этого кода: запишите точный API, состояние объекта, идентичность входных данных и первый низкоуровневый результат, применительно к состоянию «защищённое хранилище не найдено».
  5. Внесите одно точечное исправление — исправьте состояние DRM или входные данные, вызвавшие ошибку, и повторите операцию с новым объектом — и повторите ту же операцию, сформировавшую ошибку, применительно к состоянию «защищённое хранилище не найдено».

Какой компонент владеет сбоем

Не сводите NS_E_DRM_SECURE_STORE_NOT_FOUND в общую ошибку DRM в процессе «защищённое хранилище не найдено». После получения лицензия сохраняется в защищённом локальном хранилище лицензий; поэтому ошибка хранилища отличается от отказа сервера выдать лицензию, в пути обработки состояния «защищённое хранилище не найдено». Кроме того, состояние, привязанное к компьютеру, нельзя безопасно диагностировать копированием файлов хранилища между компьютерами или удалением оригинала до сохранения доказательств, при трассировке состояния «защищённое хранилище не найдено».

Диагностические данные, разделяющие причины

Зафиксируйте первое появление NS_E_DRM_SECURE_STORE_NOT_FOUND до того, как автоматический повтор, завершение Player, восстановление хранилища или повторное получение лицензии изменит состояние, на границе состояния «защищённое хранилище не найдено». Минимальная полезная запись содержит:

  • Подтверждение для этого кода: зафиксируйте точный API, состояние объекта, идентичность входных данных и первый низкоуровневый результат.
  • Защищённая идентичность: первый сбойный вызов API хранилища: открытие, перечисление, сохранение, закрытие или запрос, при диагностике состояния «защищённое хранилище не найдено».
  • Состояние операции: идентификатор лицензии и идентификатор ключа содержимого KID, при диагностике состояния «защищённое хранилище не найдено».
  • Хранилище или транспорт: путь хранилища, поколение файла, результат доступа и базовую системную ошибку, для результата «защищённое хранилище не найдено».
  • Контекст безопасности: аппаратную идентичность и последнее изменение оборудования или операционной системы, при диагностике состояния «защищённое хранилище не найдено».
  • Точка корреляции: последовательность фиксации контрольной точки, защищённого хранилища и реестра в процессе «защищённое хранилище не найдено».

При расследовании «защищённое хранилище не найдено» по возможности используйте KID, идентификаторы лицензий, хэши, отпечатки сертификатов, размеры и временные метки. Во время диагностики NS_E_DRM_SECURE_STORE_NOT_FOUNDне помещайте в обычные журналы ключи содержимого, полные BLOB лицензий, пароли, cookie или расшифрованные медиаданные, в пути обработки состояния «защищённое хранилище не найдено».

Что должно изменить поддерживаемое исправление

Для NS_E_DRM_SECURE_STORE_NOT_FOUND, исправление должно устранять именно формирующую причину: исправьте состояние DRM или входные данные, вызвавшие ошибку, и повторите операцию с новым объектом, для результата «защищённое хранилище не найдено». Сохраните исходный заголовок содержимого, хранилище или материалы миграции для NS_E_DRM_SECURE_STORE_NOT_FOUND до тех пор, пока операция «защищённое хранилище не найдено» не завершится успешно и результат не сохранится после создания нового объекта приложения или обязательного перезапуска.

Показательный случай: Приложение достигает пути «защищённое хранилище не найдено» и получает этот HRESULT до завершения мультимедийной операции более высокого уровня.

Не объединяйте эти HRESULT

РезультатДругая граница
NS_E_DRM_HARDWARE_INCONSISTENTСохранённое состояние DRM больше не соответствует текущей аппаратной идентичности при воспроизведении состояния «защищённое хранилище не найдено».
NS_E_DRM_GET_LICENSESTRING_ERRORКлиент не может получить сериализованную строку лицензии из выбранной записи в процессе «защищённое хранилище не найдено».
NS_E_DRM_GET_LICENSE_ERRORПолучение лицензии из локального хранилища завершилось ошибкой после начала поиска в пути «защищённое хранилище не найдено».

Одно условие «защищённое хранилище не найдено» может сопровождаться несколькими значениями. Упорядочьте цепочку событий NS_E_DRM_SECURE_STORE_NOT_FOUND по временным меткам и отдавайте приоритет первому коду на самой низкой конкретной границе, а не позднему сводному результату Player, при трассировке состояния «защищённое хранилище не найдено».

Как убедиться, что исправление действительно

После исправления пересоздайте объект WMDRM и выполните минимальный пример для NS_E_DRM_SECURE_STORE_NOT_FOUND. Убедитесь, что 0xC00D274A больше не возникает, требуемое лицензионное действие завершается, а вместо него не появляется предупреждение хранилища, сертификата, часов или миграции, на границе состояния «защищённое хранилище не найдено».

Практическое примечание для этого кода

Символьная фраза «защищённое хранилище не найдено» является важным ключом поиска и телеметрии для NS_E_DRM_SECURE_STORE_NOT_FOUND. Храните её рядом с точным значением 0xC00D274A; официальное сообщение «Защищённое хранилище DRM не найдено, при диагностике состояния «защищённое хранилище не найдено». Повторите получение лицензии» полезно пользователю, но само по себе не определяет формирующий API, поколение объекта или защищённую идентичность при диагностике состояния «защищённое хранилище не найдено».

Технические ссылки


Нужно найти другой код? Найти другой код состояния или ошибки.