FILE_STAT_BASIC_INFORMATION-Struktur (ntifs.h)

Wichtig

Einige Informationen beziehen sich auf ein Vorabrelease-Produkt, das vor der kommerziellen Freigabe wesentlich geändert werden kann. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.

FILE_STAT_BASIC_INFORMATION enthält grundlegende Metadaten zu einer Datei.

Syntax

typedef struct _FILE_STAT_BASIC_INFORMATION {
  LARGE_INTEGER FileId;
  LARGE_INTEGER CreationTime;
  LARGE_INTEGER LastAccessTime;
  LARGE_INTEGER LastWriteTime;
  LARGE_INTEGER ChangeTime;
  LARGE_INTEGER AllocationSize;
  LARGE_INTEGER EndOfFile;
  ULONG         FileAttributes;
  ULONG         ReparseTag;
  ULONG         NumberOfLinks;
  ULONG         DeviceType;
  ULONG         DeviceCharacteristics;
  ULONG         Reserved;
  LARGE_INTEGER VolumeSerialNumber;
  FILE_ID_128   FileId128;
} FILE_STAT_BASIC_INFORMATION, *PFILE_STAT_BASIC_INFORMATION;

Member

FileId

Gibt die ID einer Datei an.

CreationTime

Gibt die Erstellungszeit einer Datei an.

LastAccessTime

Gibt den letzten Zugriff auf eine Datei an.

LastWriteTime

Gibt den Zeitpunkt an, zu dem eine Datei zuletzt geschrieben wurde.

ChangeTime

Gibt den Zeitpunkt an, zu dem eine Datei zuletzt geändert wurde.

AllocationSize

Dateizuordnungsgröße in Byte. In der Regel ist dieser Wert ein Vielfaches der Sektor- oder Clustergröße des zugrunde liegenden physischen Geräts.

EndOfFile

Absolute neue End-of-File-Position als Byteoffset vom Anfang der Datei. EndOfFile gibt den Byteoffset bis zum Ende der Datei an. Da dieser Wert nullbasiert ist, bezieht er sich tatsächlich auf das erste freie Byte in der Datei. Mit anderen Worten, EndOfFile ist der Offset auf das Byte unmittelbar nach dem letzten gültigen Byte in der Datei.

FileAttributes

Dateiattribute, bei denen es sich um eine beliebige gültige Kombination der folgenden Elemente sein kann:

attribute Wert
FILE_ATTRIBUTE_READONLY 0x00000001
FILE_ATTRIBUTE_HIDDEN 0x00000002
FILE_ATTRIBUTE_SYSTEM 0x00000004
FILE_ATTRIBUTE_DIRECTORY 0x00000010
FILE_ATTRIBUTE_ARCHIVE 0x00000020
FILE_ATTRIBUTE_NORMAL 0x00000080

ReparseTag

Analysepunkttag. Weitere Informationen finden Sie unter Informationen zu Analysepunkten .

NumberOfLinks

Gibt die Anzahl der Links zur Datei an.

DeviceType

Legen Sie fest, wann ein Treiber IoCreateDevice entsprechend dem Typ des zugrunde liegenden Geräts aufruft. Weitere Informationen finden Sie unter Angeben von Gerätetypen.

DeviceCharacteristics

Die Gerätemerkmale. Eine Beschreibung der relevanten Werte finden Sie unter DEVICE_OBJECT.

Reserved

Ist für das System reserviert.

VolumeSerialNumber

Seriennummer des Volumes, auf dem sich die Datei befindet.

FileId128

Die 128-Byte-Dateireferenznummer für die Datei. Diese Nummer wird generiert und der Datei vom Dateisystem zugewiesen.

Hinweise

Diese Informationen können auf eine der folgenden Arten abgefragt werden:

  • Rufen Sie ZwQueryDirectoryFile auf, und übergeben Sie FileStatBasicInformation als Wert von FileInformationClass , und übergeben Sie einen vom Aufrufer zugeordneten, FILE_ID_EXTD_DIR_INFORMATION strukturierten Puffer als Wert von FileInformation.

  • Erstellen Sie ein IRP mit Hauptfunktionscode IRP_MJ_DIRECTORY_CONTROL und Nebenfunktionscode IRP_MN_QUERY_DIRECTORY.

Zum Abfragen dieser Informationen sind keine spezifischen Zugriffsrechte erforderlich.

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 frei wiederverwenden können. Es ist auch nicht garantiert, dass sie konstant bleiben. Beispielsweise generiert das FAT-Dateisystem die Dateireferenznummer für eine Datei aus dem Byteoffset des Verzeichniseintragsdatensatzes (DIRENT) der Datei auf dem Datenträger. Die Defragmentierung kann diesen Byteoffset ändern. Daher kann sich eine FAT-Dateireferenznummer im Laufe der Zeit ändern.

Alle Datums- und Uhrzeitangaben liegen im absoluten Systemzeitformat vor. Die absolute Systemzeit ist die Anzahl der Intervalle von 100 Nanosekunden seit Beginn des Jahres 1601.

Diese Struktur muss an einer LONGLONG-Grenze (8 Byte) ausgerichtet werden. Wenn ein Puffer zwei oder mehr dieser Strukturen enthält, fällt der NextEntryOffset-Wert in jedem Eintrag mit Ausnahme des letzten auf eine 8-Byte-Grenze.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 11, Version 24H2
Kopfzeile ntifs.h

Weitere Informationen

FILE_INFORMATION_CLASS

**ZwQueryInformationByName **