FILE_INTERNAL_INFORMATION-Struktur (ntifs.h)
Die FILE_INTERNAL_INFORMATION-Struktur wird verwendet, um die 8-Byte-Dateireferenznummer des Dateisystems für eine Datei abzufragen.
Syntax
typedef struct _FILE_INTERNAL_INFORMATION {
LARGE_INTEGER IndexNumber;
} FILE_INTERNAL_INFORMATION, *PFILE_INTERNAL_INFORMATION;
Member
IndexNumber
Die 8-Byte-Dateireferenznummer für die Datei. Diese Nummer wird vom Dateisystem zugewiesen und ist dateisystemspezifisch. (Beachten Sie, dass dies nicht mit der 16-Byte-Dateiobjekt-ID identisch ist, die NTFS für Microsoft Windows 2000 hinzugefügt wurde.)
Hinweise
Diese Informationen können auf eine der folgenden Arten abgefragt werden:
Rufen Sie FltQueryInformationFile oder ZwQueryInformationFile auf, übergeben Sie FileInternalInformation als Wert von FileInformationClass und übergeben Einen aufruferseitig zugeordneten, FILE_INTERNAL_INFORMATION strukturierten Puffer als Wert von FileInformation.
Erstellen Sie eine IRP mit hauptfunktionscode IRP_MJ_QUERY_INFORMATION.
Zum Abfragen dieser Informationen sind keine spezifischen Zugriffsrechte erforderlich.
Das IndexNumber-Element der FILE_INTERNAL_INFORMATION-Struktur ist identisch mit dem FileId-Member der FILE_ID_BOTH_DIR_INFORMATION- und FILE_ID_FULL_DIR_INFORMATION-Strukturen.
Dateiverweisnummern, auch Datei-IDs genannt, sind garantiert nur innerhalb eines statischen Dateisystems eindeutig. Es ist nicht garantiert, dass sie im Laufe der Zeit eindeutig sind, da Dateisysteme sie wiederverwenden können. Es ist auch nicht garantiert, dass sie konstant bleiben. Beispielsweise generiert das FAT-Dateisystem die Dateiverweisnummer für eine Datei aus dem Byteoffset des Verzeichniseintrags (DIRENT) der Datei auf dem Datenträger. Die Defragmentierung kann diesen Byteoffset ändern. Daher kann sich eine FAT-Dateireferenznummer im Laufe der Zeit ändern.
Die Größe des Puffers, der im FileInformation-Parameter an FltQueryInformationFile oder ZwQueryInformationFile übergeben wird, muss mindestens sizeof(FILE_INTERNAL_INFORMATION)
sein.
Diese Struktur muss an einer LONGLONG-Grenze (8 Byte) ausgerichtet werden.
Anforderungen
Anforderung | Wert |
---|---|
Header | ntifs.h (include Ntifs.h, Fltkernel.h) |