Что означает код HRESULT 0x88982F8E (WINCODEC_ERR_PROPERTYUNEXPECTEDTYPE)?

 
Предыдущий Следующий
WINCODEC_ERR_DUPLICATEMETADATAPRESENT WINCODEC_ERR_UNEXPECTEDSIZE

WINCODEC_ERR_PROPERTYUNEXPECTEDTYPE

Идентичность метаданных и тип значения являются разными ограничениями

WINCODEC_ERR_PROPERTYUNEXPECTEDTYPE означает, что элемент метаданных найден, но его тип PROPVARIANT не соответствует ожидаемому обработчиком или схемой. Целочисленный тег нельзя безусловно заменить числовой строкой, вектором байтов или рациональным числом в виде пары целых. Автоматические преобразования языка также могут изменить знаковость или расширить скаляр до типа, который кодек не принимает.

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

Диагностика на уровне типа

  • Запишите запрос, схему метаданных, PROPVARIANT.vt и размер значения.
  • Сравните тип с примерами запросов собственного формата изображения для этого тега.
  • Сохраняйте массивы, блоки, рациональные и знаковые значения в ожидаемом представлении.
  • После операции корректно очищайте каждый инициализированный PROPVARIANT.

Ссылки


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