Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
Delphi 12 Athens
|
Re: Backup von offenen/gesperrten Dateien
24. Jul 2006, 13:23
Im Grunde haben wir das schon erklärt.
Du müstest halt "nur" die Position der Datei auf dem Datenträger auslesen und dann über einen "direkten" Zugriff auf den Datenträger diese Stellen auslesen.
Aber da kommst du ohne Kenntnisse, wie die Partition aufgebaut ist, keinen Schritt weiter.
bei FAT z.B.:
- testen ob und was für'n FAT (FAT12, FAT16, FAT32)
- RootVereichnis suchen und von dort aus, über alle Zwischenverzeichnisse, bis zum gewünschten Verzeichnis/Datei durchhangeln
(also jeweils Eintrag in der Verzeichnisliste suhen, Position ausesen und dort hinspringen)
- dann hast'e erstmal den Clustersector
- dieser muß dann ungerechnet werden
ErstesByte := ErsterDatenCluster(StartSecrot * BytePerSector) * SectorsPerCluster * BytePerSector
Dann darfst du dich aber auch noch durch das VolumeBitmap kämpfen, wo du nachsehn muß ob und wo die restlichen Cluster für die Datei rumliegen.
Die Datei könnte ja fragmentiert sein, was bedeuten würde, daß du nicht einfach alle Bytes (Dateigröße) hintereinander auslesen kannt ...
tja das wäre so in etwa der Weg, wie es ginge bei NTFS ist es natürlich ähnlich, außer daß dort die Datenstrukturen etwas anders sind.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
|