FILE_ID_BOTH_DIR_INFO-Struktur (winbase.h)

Enthält Informationen zu Dateien im angegebenen Verzeichnis. Wird für Verzeichnishandles verwendet. Verwenden Sie nur beim Aufrufen von GetFileInformationByHandleEx. Die Anzahl der Dateien, die für jeden Aufruf von GetFileInformationByHandleEx zurückgegeben werden, hängt von der Größe des Puffers ab, der an die Funktion übergeben wird. Alle nachfolgenden Aufrufe von GetFileInformationByHandleEx für dasselbe Handle werden den Enumerationsvorgang fortsetzen, nachdem die letzte Datei zurückgegeben wurde.

Syntax

typedef struct _FILE_ID_BOTH_DIR_INFO {
  DWORD         NextEntryOffset;
  DWORD         FileIndex;
  LARGE_INTEGER CreationTime;
  LARGE_INTEGER LastAccessTime;
  LARGE_INTEGER LastWriteTime;
  LARGE_INTEGER ChangeTime;
  LARGE_INTEGER EndOfFile;
  LARGE_INTEGER AllocationSize;
  DWORD         FileAttributes;
  DWORD         FileNameLength;
  DWORD         EaSize;
  CCHAR         ShortNameLength;
  WCHAR         ShortName[12];
  LARGE_INTEGER FileId;
  WCHAR         FileName[1];
} FILE_ID_BOTH_DIR_INFO, *PFILE_ID_BOTH_DIR_INFO;

Member

NextEntryOffset

Der Offset für die nächste FILE_ID_BOTH_DIR_INFO Struktur, die zurückgegeben wird. Enthält null (0), wenn keine anderen Einträge folgen.

FileIndex

Der Byteoffset der Datei im übergeordneten Verzeichnis. Dieser Member ist für Dateisysteme wie NTFS nicht definiert, in denen die Position einer Datei im übergeordneten Verzeichnis nicht festgelegt ist und jederzeit geändert werden kann, um die Sortierreihenfolge beizubehalten.

CreationTime

Der Zeitpunkt, zu dem die Datei erstellt wurde.

LastAccessTime

Der Zeitpunkt, zu dem zuletzt auf die Datei zugegriffen wurde.

LastWriteTime

Der Zeitpunkt, in den die Datei zuletzt geschrieben wurde.

ChangeTime

Der Zeitpunkt, zu dem die Datei zuletzt geändert wurde.

EndOfFile

Die absolute neue End-of-File-Position als Byteoffset vom Anfang der Datei bis zum Ende der Datei. 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, das unmittelbar auf das letzte gültige Byte in der Datei folgt.

AllocationSize

Die Anzahl der Bytes, die für die Datei zugewiesen werden. Dieser Wert ist in der Regel ein Vielfaches der Sektor- oder Clustergröße des zugrunde liegenden physischen Geräts.

FileAttributes

Die Dateiattribute. Dieser Member kann eine beliebige gültige Kombination der folgenden Attribute sein:

FILE_ATTRIBUTE_ARCHIVE (0x00000020)

FILE_ATTRIBUTE_COMPRESSED (0x00000800)

FILE_ATTRIBUTE_DIRECTORY (0x00000010)

FILE_ATTRIBUTE_HIDDEN (0x00000002)

FILE_ATTRIBUTE_NORMAL (0x00000080)

FILE_ATTRIBUTE_READONLY (0x00000001)

FILE_ATTRIBUTE_SYSTEM (0x00000004)

FILE_ATTRIBUTE_TEMPORARY (0x00000100)

FileNameLength

Die Länge des Dateinamens.

EaSize

Die Größe der erweiterten Attribute für die Datei.

ShortNameLength

Die Länge von ShortName.

ShortName[12]

Die kurze 8.3-Dateibenennungskonvention (z. B. "FILENAME.TXT") der Datei.

FileId

Die Datei-ID.

FileName[1]

Das erste Zeichen der Dateinamenzeichenfolge. Dies wird im Arbeitsspeicher durch den Rest der Zeichenfolge gefolgt.

Hinweise

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 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.

Alle Datums- und Uhrzeitangaben sind im absoluten Systemzeitformat. Die absolute Systemzeit ist die Anzahl der Intervalle von 100 Nanosekunden seit Jahresbeginn 1601.

Diese FILE_ID_BOTH_DIR_INFO Struktur muss an einer DWORDLONG-Grenze (8 Byte) ausgerichtet werden. Wenn ein Puffer mindestens zwei 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 Vista [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [Desktop-Apps | UWP-Apps]
Kopfzeile winbase.h (einschließlich Windows.h)
Verteilbare Komponente Windows SDK unter Windows Server 2003 und Windows XP.

Weitere Informationen

FILE_INFO_BY_HANDLE_CLASS

Dateiattributskonstanten

GetFileInformationByHandleEx