Форум » C/C++ » тайм-аут при ошибке чтения файла » Ответить

тайм-аут при ошибке чтения файла

SADSTAR4 : есть тестовый код в котором большой файл (киношка) читается с CD в цикле кусками в память функцией WinAPI [pre]ReadFile_(Handle,*Buffer1,KSize,@nReaded,0)[/pre] когда попадает на битый участок файла зависает на длительное время и прервать программу никак не удается. даже из диспетчера задач. при этом помаргивает лампочка на CD. только если выдвинуть лоток с диском. или ждать очень долго пока функция сама завершиться с выдачей ошибки. наверное срабатывает какой-то тайм-аут на чтение с диска. Можно ли этот тайм-аут задать принудительно (значительно меньшего размера)? Что-то я не нашел ничего подходящего в разделе http://msdn.microsoft.com/en-us/library/aa365467%28v=vs.85%29.aspx

Ответов - 3

Сыроежка: Может быть надо смотреть службы IOCTL?

SADSTAR4 : Асинхронный ввод-вывод при чтении файла никто не пробовал? Вроде там есть возможность отмены запроса на чтение.

SADSTAR4 : Докладываю вариант решения проблемы. CreateFile в режиме #FILE_FLAG_NO_BUFFERING с сопутствующими параметрами чтения исправляет ситуацию до 27-30 сек




полная версия страницы