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