| Предыдущий | Следующий |
| ERROR_SHARING_BUFFER_EXCEEDED | ERROR_HANDLE_DISK_FULL |
ERROR_HANDLE_EOF
В файле больше нет данных в запрошенной позиции
ERROR_HANDLE_EOF сообщает о достижении конца файла для указанного дескриптора. Обычно это ожидаемый управляющий результат при последовательном чтении или запросе данных за текущей длиной файла, а не признак повреждения файла.
Правильная интерпретация
- Сравните текущее смещение с размером файла.
- Отличайте успешное короткое чтение от API, сообщающего EOF как код ошибки.
- Учитывайте файлы, которые могут параллельно увеличиваться или уменьшаться.
- Не повторяйте чтение бесконечно с того же смещения, если запись не ожидается.
Поведение приложения
Корректно завершите цикл чтения, обработайте уже возвращённые байты и закройте либо перепозиционируйте дескриптор по необходимости. Для структурированных форматов EOF всё же может указывать на усечение, если обязательные записи отсутствуют; проверяйте формат отдельно, не считая любой EOF безопасным.
Ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.