Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.201 Beiträge
 
Delphi 12 Athens
 
#4

Re: Festplattenzugriff / Imagedatei

  Alt 30. Okt 2007, 20:09
SetFilePointer(hDevice, (Sector-1) * SectorSize, [color=#ff0000][b]nil[/b][/color], FILE_BEGIN ); also wenn ich das seh, dann kann dieses nur auf die ersten 4 GB der Partition zugreifen.
ich hoffe seine Platte ist nicht größer, denn sonst werden bei Positionen über 4 GB (also ab Sektor 8388608) falsche Sektoren ausgelesen!

das FileSeek ... sei froh, daß es da auch eine 64-Bitvariante von gibt (Delphi hat es da eigentlich nicht so mit solchen Funktionen (es mag immernoch seine 32 Bit zu sehr)

PS: das 64-Bit-FileSeek macht intern das
Delphi-Quellcode:
var i8: Int64;

i8 := Int64(Sector-1) * SectorSize;
SetFilePointer(THandle(Handle), Int64Rec(i8).Lo, @Int64Rec(i8).Hi, FILE_BEGIN);
PSS: das nächste mal bitte einach im MSDN/PSDK nachlesen wie gewüschte Funktionen verwendet werden müssen.
Obwohl man eigentlich allein aus den Parameternamen den Grund hätte schon erkennen können
Code:
SetFilePointer(hFile: THandle; lDistanceToMove: [color=#ff0000]Longint;[/color]
  lpDistanceToMoveHigh: [color=#ff0000]Pointer[/color]; dwMoveMethod: DWORD)

Ach und mal eine Frage, warum leßt ihr denn nicht gleich die Platte selber komplett aus?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat