| Предыдущий | Следующий |
| NS_E_METADATA_IDENTIFIER_NOT_AVAILABLE | MF_E_PLATFORM_NOT_INITIALIZED |
NS_E_METADATA_CANNOT_RETRIEVE_FROM_OFFLINE_CACHE
Что означает NS_E_METADATA_CANNOT_RETRIEVE_FROM_OFFLINE_CACHE на уровне ответственного API
Когда этот результат (0xC00D32DE) появляется, первый заблокированный переход — выбран offline-режим, но cache не может предоставить запрошенные метаданные. На практике проверку metadata для retrieve from offline cache нужно воспроизводить с теми же URL, stream, поколением объекта и последовательностью вызовов.
Метаданные Windows Media могут относиться к файлу или потоку и поступать из заголовка ASF, вычисляемых attributes, online/cache provider или обработчика конкретного формата. Возможности чтения, редактирования, locale и query schema независимы друг от друга при диагностике условия «невозможность получить метаданные из автономного кэша». В случае этот результат, сохраняйте самый ранний результат нижнего уровня: оболочки могут сопоставлять разные причины с одним HRESULT в этой контрольной точке.
Эксперимент с метаданными только для чтения
- Запишите
0xC00D32DE, этот результат, точную операцию и время первого сбоя. - Сохраните идентификатор содержимого, ключ cache, provider, время и срок действия записи cache, запрошенный locale, режим online/offline и результат поиска в cache.
- Не используйте повторно graph, session, reader или metadata object, созданные до изменения соответствующей конфигурации или ресурса.
- Выполните один изолированный тест: один раз получить metadata online, заполнить cache и затем повторить тот же запрос offline.
- Повторите проверку через тот же API и protocol path; другой Player или локальная копия полезны только для сравнения и сами по себе не доказывают исправление исходной границы.
- Подтвердите ожидаемое следующее состояние и сохраните новый HRESULT, если он появился, как отдельный результат последующей стадии.
Что завершилось и что не завершилось
До этой контрольной точки предыдущая настройка могла завершиться успешно, однако этап «выбран offline-режим, но cache не может предоставить запрошенные метаданные» не был завершён. Поэтому в журнале нужны и последний успешный вызов, и этот результат.
Целевое сравнение: один раз получить metadata online, заполнить cache и затем повторить тот же запрос offline. Оно меняет спорное предварительное условие, не меняя идентичность мультимедиа и несвязанные параметры компьютера.
Данные об атрибуте, схеме и локали
| Зафиксируйте | Как это помогает выделить он |
|---|---|
| Вызов-владелец | Зафиксируйте метод API, идентификатор объекта, поток или callback и временную метку для контрольной точки «невозможность получить метаданные из автономного кэша». |
| Решающие значения | идентификатор содержимого, ключ cache, provider, время и срок действия записи cache, запрошенный locale, режим online/offline и результат поиска в cache |
| Поколение объекта | Отметьте, когда были созданы reader, writer, graph, URL object, streaming session или metadata provider; устаревшее состояние может воспроизвести он после изменения конфигурации. |
| Первый вложенный результат | Сохраните самый ранний статус codec, COM, socket, DNS, parser или provider до него; более поздние сообщения интерфейса менее конкретны. |
| Случай для сравнения | Используйте один заведомо рабочий ресурс, проходящий ту же контрольную точку «невозможность получить метаданные из автономного кэша», изменив только отклонённое предварительное условие. |
Интерпретация ответа поставщика
| Результат повторной проверки | Толкование для него |
|---|---|
| Тот же вызов по-прежнему возвращает этот код | Значения, определяющие контрольную точку «невозможность получить метаданные из автономного кэша», не изменились либо вызывающая сторона всё ещё использует старое поколение объекта. |
| Новый объект работает успешно | На результат повлияли lifetime объекта или cached state он; исправьте пересоздание объекта вместо применения обходного решения на уровне всего компьютера. |
| Вызов доходит до другого HRESULT | Исходная граница пройдена. Диагностируйте новый код отдельно на его собственной стадии format, graph, URL, network или metadata. |
| Сбой возникает только для одного ресурса | Данные указывают на состояние конкретного content, URL, publishing point, stream, attribute или object, а не на общий сбой системы. |
Действия, вводящие в заблуждение
- не удаляйте metadata cache или tags до сохранения provider, key атрибута, типа и locale, которые привели к результату.
- Не стирайте данные о первом появлении он многократными повторами; callbacks и reconnect могут заменить полезное исходное состояние более поздней ошибкой оболочки.
- Не публикуйте учётные данные, материалы защищённого содержимого или полные закрытые URL. Записывайте обезличенные identifiers, lengths, hashes и поля protocol, необходимые для воспроизведения этой контрольной точки при проверке «выбран offline-режим, но cache не может предоставить запрошенные метаданные».
Близкие результаты не взаимозаменяемы
Основное различие: сбой cache не доказывает отсутствие item в online metadata source при диагностике retrieve from offline cache.
| Близкий HRESULT | Как его сравнивать |
|---|---|
NS_E_METADATA_INVALID_DOCUMENT_TYPE | Сравните ответственный API и первое отклонённое значение: этот HRESULT относится к соседней контрольной точке и не обязан иметь ту же причину, что он. |
NS_E_METADATA_IDENTIFIER_NOT_AVAILABLE | Используйте состояние объекта и порядок операций, чтобы определить, какой код является исходным, если оба появляются в одной трассировке. |
NS_E_METADATA_CACHE_DATA_NOT_AVAILABLE | Сохраните он отдельно, если он появляется только после устранения условия он. |
Технические ссылки
- Возможности метаданных Windows Media
- Получение атрибутов метаданных
- Задание атрибутов метаданных
- Объект редактора метаданных
- Реестр HRESULT Microsoft
Сохраните трассировку после исправления, чтобы более поздний результат pipeline не был ошибочно принят за повтор этой границы в диагностической записи retrieve from offline cache.
Нужно найти другой код? Найти другой код состояния или ошибки.
