Using $20080820; 10: Evolution
We've been using the following code as a fast ReadCooked and it works 99% of the time
BUT in a rare but repeatable set of conditions a complete system hang (Task Manager doesnot help) will occur
1) read is to an area outside a track (with a specific disk) the function returns false normally but 1 sector will return success 2) after that the next read to a track area will put the sector count into the buffer and then pad 1 sector with 0 (other data in buffer is uneffected) - this will happen with a cooked read as well 3) do a number of other additional reads successfully 4) Reread previously read sector (with cooked) will HARD crash a PC 5) Log finishes with DeviceIoControl() failed, status 121 ( 0x79 ) Semaphore timeout, re-executing the CDB, 1 vs. 5000
Linden
85 called with
85
|