Thema: Delphi writefile-Problem

Einzelnen Beitrag anzeigen

alpenrose

Registriert seit: 31. Mai 2017
9 Beiträge
 
#1

writefile-Problem

  Alt 31. Mai 2017, 11:14
var bufferp:array[0..511] of byte;
.
.
.
c:='\\.\PhysicalDrive1'+chr(0);
a:=createfile(pchar(c),GENERIC_READ+GENERIC_WRITE, FILE_SHARE_READ+FILE_SHARE_WRITE,nil,OPEN_EXISTING ,0,0);
for i := 0 to 511 do bufferp:=0;
b:=setfilepointer(a,bootsectorpos,nil,FILE_BEGIN); //Bootsektor einer FAT32-Partition auf einer externen USB-HDD
bp:=512;
x:=writefile(a,bufferp[0],bp,b,nil); //Bootsektor schreiben - das funktioniert

b:=setfilepointer(a,bootsectorpos+6*512,nil,FILE_B EGIN); //Backup-Bootsektor (nur 6 Sektoren weiter) von obiger Partition
bp:=512;
x:=writefile(a,bufferp[0],bp,b,nil); //Backup-Bootsektor schreiben - das funktioniert nicht (access denied)
closehandle(a);
.
.
.

Das obige Codefragment soll den Bootsektor und den Backup-Bootsektor einer FAT32-Partition auf einer externen USB-HDD löschen.
Das Löschen des Bootsektors funktioniert, das Löschen des Backup-Bootsektors hingegen nicht: Zugriff verweigert!
Was könnte der Grund dafür sein und wie kann man das Problem lösen?
  Mit Zitat antworten Zitat