Что означает код HRESULT 0x88982F92 (WINCODEC_ERR_REQUESTONLYVALIDATMETADATAROOT)?

 
Предыдущий Следующий
WINCODEC_ERR_UNEXPECTEDMETADATATYPE WINCODEC_ERR_INVALIDQUERYCHARACTER

WINCODEC_ERR_REQUESTONLYVALIDATMETADATAROOT

Операции с метаданными привязаны к уровню иерархии

WINCODEC_ERR_REQUESTONLYVALIDATMETADATAROOT означает, что метод или запрос был вызван из вложенного контекста метаданных, хотя WIC определяет его только для корня метаданных. Объекты чтения и записи запросов сохраняют своё положение в дереве метаданных; объект, полученный для дочернего блока, не равнозначен корневому объекту уровня декодера или кадра.

Нужно заново получить корневой объект чтения или записи запросов и задать полный путь от этого уровня. Удаление первого компонента пути при сохранении вложенного объекта меняет цель, а не восстанавливает корневую семантику. Поэтому сообщаемое объектом расположение метаданных является важным диагностическим параметром, особенно когда оболочка скрывает происхождение интерфейса запроса.

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

  • Вызовите GetLocation или иным способом зафиксируйте текущий путь объекта запроса в метаданных.
  • Получите интерфейс запроса от декодера или кадра, если операция требует корневой области.
  • Используйте полное выражение пути от корня вместо корневого запроса к дочернему блоку.
  • Храните корневые и вложенные объекты запросов раздельно в кэше приложения.

Ссылки


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