Can anyone please advise me:

I am writing a program to recover bad sectors on optical discs (CDs, and DVDs). I use the APSI interface. I set ASPI timeouts to a small number (4), using SC_GETSET_TIMEOUTS (ASPI Command 0x08), and then I read through all the sectors, good and bad, sequentially. The read operations on the bad sectors time out quickly. If there are a very lot of bad sectors, there are a very lot of timeouts, and this is when I encounter the problem.

The symptom is that the CD drive becomes not only completely inaccessible, but ceases to even appear in the “My Computer” virtual folder. The only way I found to make the drive accessible again is to reboot.

I would like to 1) avoid causing this problem; and 2) be able to recover from it programmatically.

Any comments would be helpful. Thanks!

Mike