BY_HANDLE_FILE_INFORMATION-Struktur (fileapi.h)

Enthält Informationen, die die GetFileInformationByHandle-Funktion abruft.

Syntax

typedef struct _BY_HANDLE_FILE_INFORMATION {
  DWORD    dwFileAttributes;
  FILETIME ftCreationTime;
  FILETIME ftLastAccessTime;
  FILETIME ftLastWriteTime;
  DWORD    dwVolumeSerialNumber;
  DWORD    nFileSizeHigh;
  DWORD    nFileSizeLow;
  DWORD    nNumberOfLinks;
  DWORD    nFileIndexHigh;
  DWORD    nFileIndexLow;
} BY_HANDLE_FILE_INFORMATION, *PBY_HANDLE_FILE_INFORMATION, *LPBY_HANDLE_FILE_INFORMATION;

Member

dwFileAttributes

Die Dateiattribute. Mögliche Werte und ihre Beschreibungen finden Sie unter Dateiattributekonstanten.

ftCreationTime

Eine FILETIME-Struktur , die angibt, wann eine Datei oder ein Verzeichnis erstellt wird. Wenn das zugrunde liegende Dateisystem die Erstellungszeit nicht unterstützt, ist dieser Member null (0).

ftLastAccessTime

Eine FILETIME-Struktur . Für eine Datei gibt die -Struktur an, zu dem eine Datei zuletzt gelesen oder in diese geschrieben wird. Für ein Verzeichnis gibt die -Struktur an, wann das Verzeichnis erstellt wird. Für Dateien und Verzeichnisse ist das angegebene Datum richtig, die Tageszeit ist jedoch immer auf Mitternacht festgelegt. Wenn das zugrunde liegende Dateisystem den Zeitpunkt des letzten Zugriffs nicht unterstützt, ist dieser Member null (0).

ftLastWriteTime

Eine FILETIME-Struktur . Für eine Datei gibt die -Struktur den Zeitpunkt an, zu dem eine Datei zuletzt geschrieben wird. Für ein Verzeichnis gibt die -Struktur an, wann das Verzeichnis erstellt wird. Wenn das zugrunde liegende Dateisystem die letzte Schreibzeit nicht unterstützt, ist dieser Member null (0).

dwVolumeSerialNumber

Die Seriennummer des Volumes, das eine Datei enthält.

nFileSizeHigh

Der hohe Teil der Dateigröße.

nFileSizeLow

Der teil der geringen Reihenfolge der Dateigröße.

nNumberOfLinks

Die Anzahl der Links zu dieser Datei. Für das FAT-Dateisystem ist dieser Member immer 1. Für das NTFS-Dateisystem kann es mehr als 1 sein.

nFileIndexHigh

Der hochgeordnete Teil eines eindeutigen Bezeichners, der einer Datei zugeordnet ist. Weitere Informationen finden Sie unter nFileIndexLow.

nFileIndexLow

Der Teil mit niedriger Reihenfolge eines eindeutigen Bezeichners, der einer Datei zugeordnet ist.

Der Bezeichner (niedrige und hohe Teile) und die Seriennummer des Volumes identifizieren eindeutig eine Datei auf einem einzelnen Computer. Um zu bestimmen, ob zwei geöffnete Handles dieselbe Datei darstellen, kombinieren Sie den Bezeichner und die Volumeseriennummer für jede Datei, und vergleichen Sie sie.

Das mit Windows Server 2012 eingeführte ReFS-Dateisystem enthält 128-Bit-Dateibezeichner. Verwenden Sie zum Abrufen des 128-Bit-Dateibezeichners die GetFileInformationByHandleEx-Funktion mit FileIdInfo , um die FILE_ID_INFO-Struktur abzurufen. Der 64-Bit-Bezeichner in dieser Struktur ist in ReFS nicht eindeutig.

Hinweise

Der Bezeichner, der in den Membern nFileIndexHigh und nFileIndexLow gespeichert ist, wird als Datei-ID bezeichnet. Die Unterstützung für Datei-IDs ist dateisystemspezifisch. Datei-IDs sind im Laufe der Zeit nicht eindeutig, da Dateisysteme sie frei wiederverwenden können. In einigen Fällen kann sich die Datei-ID für eine Datei im Laufe der Zeit ändern.

Im FAT-Dateisystem wird die Datei-ID aus dem ersten Cluster des enthaltenden Verzeichnisses und dem Byteoffset innerhalb des Verzeichnisses des Eintrags für die Datei generiert. Einige Defragmentierungsprodukte ändern diesen Byteoffset. (Die Windows-In-Box-Defragmentierung ist nicht der Fall.) Daher kann sich eine FAT-Datei-ID im Laufe der Zeit ändern. Das Umbenennen einer Datei im FAT-Dateisystem kann auch die Datei-ID ändern, jedoch nur, wenn der neue Dateiname länger als der alte ist.

Im NTFS-Dateisystem behält eine Datei die gleiche Datei-ID bei, bis sie gelöscht wird. Sie können eine Datei durch eine andere Datei ersetzen, ohne die Datei-ID zu ändern, indem Sie die ReplaceFile-Funktion verwenden. Die Datei-ID der Ersatzdatei, nicht die ersetzte Datei, wird jedoch als Datei-ID der resultierenden Datei beibehalten.

Nicht alle Dateisysteme können die Erstellung und den Zeitpunkt des letzten Zugriffs aufzeichnen, und nicht alle Dateisysteme erfassen sie auf die gleiche Weise. In einem Windows FAT-Dateisystem hat die Erstellungszeit beispielsweise eine Auflösung von 10 Millisekunden, die Schreibzeit eine Auflösung von 2 Sekunden und die Zugriffszeit eine Auflösung von 1 Tag (das Zugriffsdatum). Im NTFS-Dateisystem hat die Zugriffszeit eine Auflösung von 1 Stunde. Weitere Informationen finden Sie unter Dateizeiten.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Kopfzeile fileapi.h (Einschließen von Windows.h)

Weitere Informationen

FILETIME

FILE_ID_INFO

Dateiattributskonstanten

GetFileInformationByHandle

GetFileInformationByHandleEx