2016-08-30 5 views
0

Ich verwende NtQueryInformationFile mit FILE_STANDARD_INFORMATION struct, um die Zuordnungsgröße der Datei abzurufen. Aber für kleine Dateien gibt es falsche Ergebnis zurück. Zum Beispiel gibt Textdatei mit Größe 1 Byte 8 Byte Zuordnungsgröße statt 4096 Byte zurück. Wo ist das Problem?NtQueryInformationFile gibt falsche Zuordnungsgröße zurück


Ich gehe davon aus, dass dieser Wert nicht korrekt ist, da Explorer (unter Windows XP Build-in meinem Fall aktiviert) die Größe auf dem Datenträger Berichte höhere Zahlen (4096 Bytes für eine Datei mit einer Größe von 1).

Antwort

-3

Dateigröße in EndOfFile Mitglied. AllocationSize - das ist, wie viele Plattenspeicher für die Datei zugeordnet -

Normalerweise ist dieser Wert ein Vielfaches des Sektors oder Clustergröße des zugrunde liegenden physikalischen Gerät.

+0

Danke. Aber wie beantwortet das meine Frage? Beispiel: Ich habe kein Problem mit einer Datei von 1024 Bytes Größe - gibt 4096 Bytes zurück, aber für 1 Byte Dateigröße gibt es 8 Bytes statt 4096 Bytes zurück. – user2120666

+0

sehr einfach - wenn Sie Dateigröße benötigen - nach EndOfFile Mitglied suchen - hier wird genau Dateigröße – RbMm

+0

Aber ich brauche Zuweisungsgröße !!! – user2120666

Verwandte Themen