Site icon EfmSoft

Что означает код HRESULT 0x800401C3 (CONVERT10_E_OLESTREAM_BITMAP_TO_DIB)?

 
Предыдущий Следующий
CONVERT10_E_OLESTREAM_FMT CONVERT10_E_STG_FMT

CONVERT10_E_OLESTREAM_BITMAP_TO_DIB

Разбор CONVERT10_E_OLESTREAM_BITMAP_TO_DIB: данные для диагностики

Windows возвращает CONVERT10_E_OLESTREAM_BITMAP_TO_DIB (0x800401C3), когда выполняется следующее условие: При преобразовании растрового изображения в DIB произошла ошибка вызова Windows GDI.

Старший бит HRESULT делает значение ошибкой. Эта константа объявлена в winerror.h и относится к области «преобразование OLE 1 и структурированного хранилища».

Почему важен контекст вызова

Код относится к преобразованию устаревшего OLESTREAM в COM Structured Storage или обратно. Такая ошибка обычно означает несоответствие формата потока, отсутствие обязательного стандартного потока либо невозможность преобразовать растровые данные.

Минимальный набор свидетельств

  • До повторной попытки нужно сохранить исходный OLESTREAM или compound file без повторного сохранения.
  • Для воспроизводимого отчёта нужно зафиксировать направление преобразования и возвращённое число байтов.
  • В первичном журнале нужно перечислить потоки и хранилища compound file.
  • На границе сбоя нужно сохранить параметры BITMAP/DIB и таблицу цветов.
  • Для сравнения с исправным случаем нужно проверить реализацию callback-функций Get/Put потока.

Как локализовать причину

  1. Проверить сигнатуру и структуру исходного потока до запуска преобразования; сохраните первый hresult и точное время результата.
  2. Убедиться, что callback чтения и записи обрабатывает частичные операции; отдельно отметьте изменение состояния объекта.
  3. Проверить обязательные стандартные потоки OLE в целевом хранилище; все остальные условия оставьте неизменными.
  4. Воспроизвести преобразование на минимальном объекте того же класса; не удаляйте исходные данные до завершения сравнения.
  5. После исправления открыть результат независимым OLE-клиентом и повторно сохранить; повторите шаг на исправном контрольном примере.

Как доказать исправление

Корректирующее действие для него должно устранять условие «При преобразовании растрового изображения в DIB произошла ошибка вызова Windows GDI» на уровне структурированное хранилище.

Один случайный успех недостаточен.

Полезные материалы


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

Exit mobile version