windows - Få sektorens placering af en fil

Indlæg af Hanne Mølgaard Plasc

Problem



Baseret på et filnavn eller et filhåndtag, er der en Win-API-metode til at bestemme hvilken fysisk sektor filen starter?

Bedste reference


Du kan få filklyngetildeling ved at sende FSCTL\_GET\_RETRIEVAL\_POINTERS ved hjælp af DeviceIoControl. [1]

Andre referencer 1


Du bliver nødt til at læse allokeringstabellen direkte.

Andre referencer 2


Jeg formoder, at der ikke er en sådan funktion.


Selv hvis du ved, hvor filen starter, hvad god ville det gøre? Resten af ​​filen kan være overalt, så snart filen er større end en enkelt sektor på grund af fragmentering.


Du ville sandsynligvis nødt til at udvikle en dybere forståelse for det pågældende filsystem og læse de nødvendige oplysninger fra filallokeringstabellen eller en sådan mekanisme.

Andre referencer 3


Nej hvorfor? Fordi et filsystem er en abstraktion af fysisk hardware. Du behøver ikke at vide, om du er på en RAM disk, harddisk, cd eller netværksdrev, eller hvis dine data er komprimeret eller krypteret - Windows tager sig af disse små detaljer for dig.


Du kan altid åbne den fysiske disk, men du har brug for kendskab til det anvendte filsystem.


Hvad forsøger du at opnå med dette?