| Предыдущий | Следующий |
| WINCODEC_ERR_REQUESTONLYVALIDATMETADATAROOT | WINCODEC_ERR_WIN32ERROR |
WINCODEC_ERR_INVALIDQUERYCHARACTER
Запрос завершился сбоем при лексическом разборе
WINCODEC_ERR_INVALIDQUERYCHARACTER обозначает ошибку на уровне символов в запросе метаданных WIC. Язык использует выражения пути с разделителями-косыми чертами, идентификаторы схем, индексы и специальную нотацию значений метаданных. Символы, обычные для имени свойства, могут требовать экранирования или выражения на основе схемы при использовании внутри пути запроса.
Это состояние можно диагностировать без открытия другого изображения, поскольку неверно само выражение. Сохраняйте в журналах исходную строку Unicode и кодовые точки: преобразование с потерями, двойное экранирование в литералах JSON или C и прямое добавление недоверенного имени тега к пути могут сформировать запрос, отличающийся от видимого в исходном коде.
Проверки, ориентированные на синтаксический анализатор
- Регистрируйте итоговую строку запроса во время выполнения, а не только её литерал в исходном коде.
- Сравните разделители, индексы, фигурные скобки и экранирование с грамматикой запросов метаданных.
- Используйте известные пути схем вместо интерполяции произвольных имён метаданных.
- Проверьте выражение отдельно на минимальном изображении, содержащем требуемый блок метаданных.
Ссылки
- Microsoft: грамматика запросов метаданных WIC
- Microsoft: примеры корректных запросов для собственных форматов
- Microsoft: использование средств чтения и записи запросов метаданных
Нужно найти другой код? Найти другой код состояния или ошибки.