| Предыдущий | Следующий |
| WINCODEC_ERR_UNEXPECTEDMETADATATYPE | WINCODEC_ERR_INVALIDQUERYCHARACTER |
WINCODEC_ERR_REQUESTONLYVALIDATMETADATAROOT
Операции с метаданными привязаны к уровню иерархии
WINCODEC_ERR_REQUESTONLYVALIDATMETADATAROOT означает, что метод или запрос был вызван из вложенного контекста метаданных, хотя WIC определяет его только для корня метаданных. Объекты чтения и записи запросов сохраняют своё положение в дереве метаданных; объект, полученный для дочернего блока, не равнозначен корневому объекту уровня декодера или кадра.
Нужно заново получить корневой объект чтения или записи запросов и задать полный путь от этого уровня. Удаление первого компонента пути при сохранении вложенного объекта меняет цель, а не восстанавливает корневую семантику. Поэтому сообщаемое объектом расположение метаданных является важным диагностическим параметром, особенно когда оболочка скрывает происхождение интерфейса запроса.
Как исправить область действия
- Вызовите
GetLocationили иным способом зафиксируйте текущий путь объекта запроса в метаданных. - Получите интерфейс запроса от декодера или кадра, если операция требует корневой области.
- Используйте полное выражение пути от корня вместо корневого запроса к дочернему блоку.
- Храните корневые и вложенные объекты запросов раздельно в кэше приложения.
Ссылки
- Microsoft: расположение путей запросов метаданных
- Microsoft: доступ к корневым и вложенным метаданным
- Microsoft: иерархия объектов чтения и записи запросов
Нужно найти другой код? Найти другой код состояния или ошибки.