Вот у меня такая проблема: я написал маленькую программку, выдирающую все живые данные с поврежденного CD-диска. Фактически это просто read в цикле (read имеется ввиду из stdio.h); суть проблемы в том, что если на диске есть ошибка, идентифицирующаяся как "Cyclic redutantant data", то read сходит с ума: впадает в бесконечный цикл, пытаясь прочитать эти данные, но этого никогда не случается. Если диск вынуть, то всплывает виндовое окошечко с мессагой "insert disk" и кнопочками "cancel", "retry", "ignore". Все три действуют абсолютно одинаково: read продолжает попытки прочитать данные, окошко вылазит снова и т.д.
Вопрос собсна в следующем: как программно отловить и обработать "Cyclic redutantant data"?
Заранее спасибо!
Попробовать использовать WinAPIшные функции: CreateFile, ReadFile, но только использовать
аснхронный ввод-вывод (флаг FILE_FLAG_OVERLAPPED в CreateFile), и ждать когда сработает событие. Можно еще попробовать обработку исключений.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>