| Предыдущий | Следующий |
| 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 потока.
Как локализовать причину
- Проверить сигнатуру и структуру исходного потока до запуска преобразования; сохраните первый hresult и точное время результата.
- Убедиться, что callback чтения и записи обрабатывает частичные операции; отдельно отметьте изменение состояния объекта.
- Проверить обязательные стандартные потоки OLE в целевом хранилище; все остальные условия оставьте неизменными.
- Воспроизвести преобразование на минимальном объекте того же класса; не удаляйте исходные данные до завершения сравнения.
- После исправления открыть результат независимым OLE-клиентом и повторно сохранить; повторите шаг на исправном контрольном примере.
Как доказать исправление
Корректирующее действие для него должно устранять условие «При преобразовании растрового изображения в DIB произошла ошибка вызова Windows GDI» на уровне структурированное хранилище.
Один случайный успех недостаточен.
Полезные материалы
Нужно найти другой код? Найти другой код состояния или ошибки.
