Что означает код HRESULT 0x800300FB (STG_E_INVALIDHEADER)?

 
Предыдущий Следующий
STG_E_ABNORMALAPIEXIT STG_E_INVALIDNAME

STG_E_INVALIDHEADER

Что означает STG_E_INVALIDHEADER

STG_E_INVALIDHEADER означает, что Structured Storage не распознаёт заголовок файла как корректный Compound File Binary Format. Причиной может быть повреждение начала файла, неверный формат входных данных либо несогласованные поля версии и размера сектора.

Что проверить

  • Сначала убедитесь, что входной файл вообще должен быть OLE Compound File, а не другим форматом с похожим расширением.
  • Сохраните копию исходника и хэш до любых попыток восстановления.
  • Проверьте сигнатуру CFB, byte order, sector shift, mini-sector shift и таблицы секторов по спецификации.
  • Сравните проблемный файл с корректным документом того же приложения и версии.

Не исправляйте несколько байтов заголовка вслепую: внутренние цепочки FAT и directory entries могут быть повреждены независимо. Если файл частично читается специализированным анализатором CFB, сначала извлеките неповреждённые потоки, а уже затем решайте вопрос восстановления контейнера.

Технические ссылки


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