Alles halb so Wild.
Schreibe ich es so:
Delphi-Quellcode:
function WriteSector(aHandle : THandle; const Data : Pointer; aPosition, aBytesPerSector : DWORD): Boolean;
var
Position : DWORD;
Offset : DWORD;
BytesToWrite : DWORD;
begin
Result := false;
Position := aPosition * aBytesPerSector;
Offset := (Position shr 32);
if HandleValidated(aHandle) then
if SetFilePointer(aHandle, Position, @Offset, FILE_BEGIN) = Position then
begin
if HandleValidated(aHandle) then
begin
Result := WriteFile(aHandle, Data, aBytesPerSector, BytesToWrite, nil);
//if ((BytesToWrite = 0) and (not Result)) then
ShowSysError('WriteSector->WriteFile', GetLastError);
end;
end
else ShowSysError('WriteSector->SetFilePointer', GetLastError);
end;
Erscheint die meldung: "Der Vorgang wurde erfolgreich beendet."
Es muss also daran liegen, wie
IwRec übergeben wird.