Что означает код ошибки Windows 38 (ERROR_HANDLE_EOF)?

 
Также может означать:
КонстантаТипОС
KERN_LOCK_SET_DESTROYEDКод возврата ядра macOSmacOS
ippStsSymKernelExpectedСтатус Intel IPPЛюбая
ENOSYSerrnoLinux
ENOTSOCKerrnomacOS
EL2NSYNCerrnoSolaris
ENAMETOOLONGerrnoWindows
CDFS_FILE_SYSTEMКод BSODWindows
Предыдущий Следующий
ERROR_SHARING_BUFFER_EXCEEDED ERROR_HANDLE_DISK_FULL

ERROR_HANDLE_EOF

В файле больше нет данных в запрошенной позиции

ERROR_HANDLE_EOF сообщает о достижении конца файла для указанного дескриптора. Обычно это ожидаемый управляющий результат при последовательном чтении или запросе данных за текущей длиной файла, а не признак повреждения файла.

Правильная интерпретация

  • Сравните текущее смещение с размером файла.
  • Отличайте успешное короткое чтение от API, сообщающего EOF как код ошибки.
  • Учитывайте файлы, которые могут параллельно увеличиваться или уменьшаться.
  • Не повторяйте чтение бесконечно с того же смещения, если запись не ожидается.

Поведение приложения

Корректно завершите цикл чтения, обработайте уже возвращённые байты и закройте либо перепозиционируйте дескриптор по необходимости. Для структурированных форматов EOF всё же может указывать на усечение, если обязательные записи отсутствуют; проверяйте формат отдельно, не считая любой EOF безопасным.

Ссылки


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