GetFileAttributesExA-Funktion (fileapi.h)
Ruft Attribute für eine angegebene Datei oder ein angegebenes Verzeichnis ab.
Verwenden Sie zum Ausführen dieses Vorgangs als transaktionierten Vorgang die GetFileAttributesTransacted-Funktion .
Syntax
BOOL GetFileAttributesExA(
[in] LPCSTR lpFileName,
[in] GET_FILEEX_INFO_LEVELS fInfoLevelId,
[out] LPVOID lpFileInformation
);
Parameter
[in] lpFileName
Der Name der Datei oder des Verzeichnisses.
Standardmäßig ist der Name auf MAX_PATH Zeichen beschränkt. Um dieses Limit auf 32.767 breite Zeichen zu erweitern, müssen Sie dem Pfad "\\?\" voranstellen. Weitere Informationen finden Sie unter Benennen von Dateien, Pfaden und Namespaces.
Tipp
Ab Windows 10 Version 1607 können Sie die MAX_PATH-Einschränkung entfernen, ohne "\\?\" vorauszustellen. Weitere Informationen finden Sie im Abschnitt "Maximale Pfadlängenbegrenzung" unter Benennung von Dateien, Pfaden und Namespaces .
[in] fInfoLevelId
Eine Klasse von Attributinformationen, die abgerufen werden sollen.
Dieser Parameter kann der folgende Wert aus der GET_FILEEX_INFO_LEVELS-Enumeration sein.
Wert | Bedeutung |
---|---|
|
Der lpFileInformation-Parameter ist eine WIN32_FILE_ATTRIBUTE_DATA-Struktur . |
[out] lpFileInformation
Ein Zeiger auf einen Puffer, der die Attributinformationen empfängt.
Der Typ der Attributinformationen, die in diesem Puffer gespeichert werden, wird durch den Wert von fInfoLevelId bestimmt.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein Nichtzero-Wert.
Wenn die Funktion fehlschlägt, ist der Rückgabewert null (0). Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.
Bemerkungen
Die GetFileAttributes-Funktion ruft Dateisystemattributinformationen ab. GetFileAttributesEx kann andere Datei- oder Verzeichnisattributinformationen abrufen. Derzeit ruft GetFileAttributesEx eine Reihe von Standardattributen ab, die eine Übermenge der Dateisystemattributinformationen darstellen.
Wenn die GetFileAttributesEx-Funktion für ein Verzeichnis aufgerufen wird, das ein eingebundener Ordner ist, gibt sie die Attribute des Verzeichnisses zurück, nicht die Attribute des Stammverzeichnisses auf dem Volume, das der eingebundene Ordner dem Verzeichnis ordnet. Um die Attribute des zugeordneten Volumes abzurufen, rufen Sie GetVolumeNameForVolumeMountPoint auf, um den Namen des zugeordneten Volumes abzurufen. Verwenden Sie dann den resultierenden Namen in einem Aufruf von GetFileAttributesEx. Die Ergebnisse sind die Attribute des Stammverzeichnisses auf dem zugeordneten Volume.
In Windows 8 und Windows Server 2012 wird diese Funktion von den folgenden Technologien unterstützt.
Technologie | Unterstützt |
---|---|
Server Message Block (SMB) 3.0-Protokoll | Ja |
SMB 3.0 Transparent Failover (TFO) | Ja |
SMB 3.0 mit Horizontalskalieren von Dateifreigaben (SO) | Ja |
Freigegebenes Clustervolume-Dateisystem (CsvFS) | Ja |
Robustes Dateisystem (Resilient File System, ReFS) | Ja |
Verhalten symbolischer Verknüpfungen: Wenn der Pfad auf einen symbolischen Link verweist, gibt die Funktion Attribute für den symbolischen Link zurück.
Transaktionen
Wenn eine Datei zur Änderung in einer Transaktion geöffnet ist, kann kein anderer Thread die Datei zur Änderung öffnen, bis das Commit für die Transaktion erfolgt. Wenn also ein Transaktionsthread zuerst die Datei öffnet, erhalten alle nachfolgenden Threads, die versuchen, die Datei zu ändern, bevor die Transaktion committet wird, eine Freigabeverletzung. Wenn ein nicht abgewickelter Thread die Datei vor dem Transaktionsthread ändert und die Datei weiterhin geöffnet ist, wenn die Transaktion versucht, sie zu öffnen, empfängt die Transaktion den Fehler ERROR_TRANSACTIONAL_CONFLICT.Hinweis
Der fileapi.h-Header definiert GetFileAttributesEx als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Unterstützte Mindestversion (Client) | Windows XP [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | fileapi.h (Einschließen von Windows.h) |
Bibliothek | Kernel32.lib |
DLL | Kernel32.dll |