Das Problem ist dann ja, dass ich nicht weiß, ob dieser Bereich korrupt ist.
Bei ReadFile kann ich aber den Rückgabewert anschauen.
Könnte man vielleicht mit "SetFilePointer" sowas machen?
Delphi-Quellcode:
GetMem(buffer, 512); // genug Speicher FÜR EINEN SEKTOR reservieren
SetFilePointer(fhandle, sec * 512, nil, FILE_BEGIN);
if not ReadFile(fhandle, buffer^, 512, bytesread, nil)
then // [konnte Sektor "sec" nicht auslesen... ]
Leider ist das noch recht neu für mich,
habe
hier (zwar C++) Zeile 60 etwas gefunden.
Delphi-Quellcode:
// Setting the pointer to point to the start of the sector we want to read ..
SetFilePointer (hDevice, (startinglogicalsector*512), NULL, FILE_BEGIN);