Что означает код HRESULT 0xC00D32DA (NS_E_METADATA_NOT_AVAILABLE)?

 
Предыдущий Следующий
NS_E_METADATA_NO_RFC1766_NAME_FOR_LOCALE NS_E_METADATA_CACHE_DATA_NOT_AVAILABLE

NS_E_METADATA_NOT_AVAILABLE

NS_E_METADATA_NOT_AVAILABLE в трассировке формата, графа или потоковой передачи

для него (0xC00D32DA) решающей границей является запрошенный элемент метаданных недоступен из активного источника. Диагностируйте проверку metadata для metadata not available непосредственно и не делайте вывод о причине только по видимому симптому playback.

Метаданные Windows Media могут относиться к файлу или потоку и поступать из заголовка ASF, вычисляемых attributes, online/cache provider или обработчика конкретного формата. Возможности чтения, редактирования, locale и query schema независимы друг от друга при диагностике условия «недоступные метаданные». В случае этот результат, сохраняйте самый ранний результат нижнего уровня: оболочки могут сопоставлять разные причины с одним HRESULT в этой контрольной точке.

Близкие результаты не взаимозаменяемы

Основное различие: Отсутствующий metadata item нужно отличать от ошибки schema, locale, cache или edit capability.

Близкий HRESULTКак его сравнивать
NS_E_METADATA_LANGUAGE_NOT_SUPORTEDСравните ответственный API и первое отклонённое значение: этот HRESULT относится к соседней контрольной точке и не обязан иметь ту же причину, что этот результат.
NS_E_METADATA_NO_RFC1766_NAME_FOR_LOCALEИспользуйте состояние объекта и порядок операций, чтобы определить, какой код является исходным, если оба появляются в одной трассировке.
NS_E_METADATA_CACHE_DATA_NOT_AVAILABLEСохраните этот результат отдельно, если он появляется только после устранения условия этот результат.

Структура сбоя

Проверка metadata для metadata not available достигается, когда запрошенный элемент metadata недоступен из активного source. Вызывающая сторона не должна считать, что после этого уже существует состояние следующего filter, packet, session или metadata он.

В качестве отрицательного контроля перечислите доступные attributes и identifiers того же file и stream до запроса отсутствующего item по точному key. Более поздний HRESULT означает, что исходная контрольная точка пройдена, а новый результат относится к другой стадии при изоляции metadata not available.

Эксперимент с метаданными только для чтения

  1. Запишите 0xC00D32DA, он, точную операцию и время первого сбоя.
  2. Сохраните идентификатор файла или содержимого, metadata provider, номер потока, имя и тип атрибута, locale, возможности чтения и редактирования и первый результат metadata API.
  3. Не используйте повторно graph, session, reader или metadata object, созданные до изменения соответствующей конфигурации или ресурса.
  4. Выполните один изолированный тест: перечислить доступные attributes и identifiers того же file/stream до запроса отсутствующего item по точному key для состояния «запрошенный элемент метаданных недоступен из активного источника».
  5. Повторите проверку через тот же API и protocol path; другой Player или локальная копия полезны только для сравнения и сами по себе не доказывают исправление исходной границы.
  6. Подтвердите ожидаемое следующее состояние и сохраните новый HRESULT, если он появился, как отдельный результат последующей стадии для состояния «запрошенный элемент метаданных недоступен из активного источника».

Данные об атрибуте, схеме и локали

ЗафиксируйтеКак это помогает выделить он
Вызов-владелецЗафиксируйте метод API, идентификатор объекта, поток или callback и временную метку для контрольной точки «недоступные метаданные».
Решающие значенияидентификатор файла или содержимого, metadata provider, номер потока, имя и тип атрибута, locale, возможности чтения и редактирования и первый результат metadata API
Поколение объектаОтметьте, когда были созданы 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, необходимые для воспроизведения этой контрольной точки.

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

Считайте он считайте исправленным только когда тот же API path проходит эту контрольную точку; успех через другой Player или cached copy является лишь дополнительным подтверждением.


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