| Предыдущий | Следующий |
| STG_E_DISKISWRITEPROTECTED | STG_E_WRITEFAULT |
STG_E_SEEKERROR
Что означает сбой позиционирования
STG_E_SEEKERROR возникает, когда Structured Storage не может перейти к требуемой позиции в потоке или базовом хранилище. Ошибка может появиться при чтении составного документа ещё до достижения полезной нагрузки, нужной приложению. Это полезная граница диагностики: проблема может находиться в нижележащем потоке, файловой системе или размещении контейнера, а не в разборе видимого содержимого документа.
Составные файлы представляют потоки цепочками секторов. Считывателю приходится многократно позиционироваться при обходе каталога, FAT, mini-FAT и данных потоков. Поэтому повреждённая цепочка, обрезанный файл, прерванная загрузка или ненадёжный носитель могут проявиться HRESULT позиционирования, но сам код не определяет слой сбоя.
Как безопасно диагностировать
- Попробуйте локальную копию файла; другой результат на сетевом или съёмном носителе меняет направление расследования.
- Сравните размер и хэш с заведомо исправным источником до попытки восстановления.
- Исследуйте контейнер только для чтения независимым анализатором, например POIFS или libolecf, чтобы проверить воспроизводимость вне исходного приложения.
- Сохраните оригинал. Повторное сохранение приложением может уничтожить данные о первом сбое.
Ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.