GetFileAttributesW-Funktion (fileapi.h)

Ruft Dateisystemattribute für eine angegebene Datei oder ein angegebenes Verzeichnis ab.

Verwenden Sie die GetFileAttributesEx-Funktion , um weitere Attributinformationen abzurufen.

Um diesen Vorgang als transaktionierten Vorgang auszuführen, verwenden Sie die GetFileAttributesTransacted-Funktion .

Syntax

DWORD GetFileAttributesW(
  [in] LPCWSTR lpFileName
);

Parameter

[in] lpFileName

Der Name der Datei oder des Verzeichnisses.

Standardmäßig ist der Name auf MAX_PATH Zeichen beschränkt. Um diesen Grenzwert auf 32.767 Breitzeichen zu erweitern, stellen Sie dem Pfad "\\?\" voran. 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 aufheben, ohne "\\?\" vorab ausstehen zu müssen. Ausführliche Informationen finden Sie im Abschnitt "Maximale Längenbeschränkung für Pfade" unter Benennen von Dateien, Pfaden und Namespaces .

Rückgabewert

Wenn die Funktion erfolgreich ist, enthält der Rückgabewert die Attribute der angegebenen Datei oder des angegebenen Verzeichnisses. Eine Liste der Attributwerte und deren Beschreibungen finden Sie unter Dateiattributekonstanten.

Wenn die Funktion fehlschlägt, wird der Rückgabewert INVALID_FILE_ATTRIBUTES. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Hinweise

Wenn GetFileAttributes für ein Verzeichnis aufgerufen wird, bei dem es sich um einen eingebundenen Ordner handelt, werden die Dateisystemattribute des Verzeichnisses zurückgegeben, nicht die des Stammverzeichnisses auf dem Volume, das der bereitgestellte Ordner dem Verzeichnis zuordnet. Um die Dateiattribute 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 GetFileAttributes. Die Ergebnisse sind die Attribute des Stammverzeichnisses auf dem zugeordneten Volume.

Wenn Sie GetFileAttributes für eine Netzwerkfreigabe aufrufen, schlägt die Funktion fehl, und GetLastError gibt ERROR_BAD_NETPATH zurück. Sie müssen einen Pfad zu einem Unterordner auf dieser Freigabe angeben.

Unter Windows 8 und Windows Server 2012 wird diese Funktion von den folgenden Technologien unterstützt.

Technologie Unterstützt
SMB 3.0-Protokoll (Server Message Block) Ja
SMB 3.0 Transparent Failover (TFO) Ja
SMB 3.0 mit Dateifreigaben mit horizontaler Skalierung (SO) Ja
Dateisystem mit freigegebenen Clustervolumes (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.

Transaktionierte Vorgänge

Wenn eine Datei zur Änderung in einer Transaktion geöffnet ist, kann kein anderer Thread die Datei zur Änderung öffnen, bis ein Commit für die Transaktion ausgeführt wird. Wenn also ein transaktionsfähiger Thread die Datei zuerst öffnet, erhalten alle nachfolgenden Threads, die versuchen, die Datei zu ändern, bevor die Transaktion committet wird, einen Freigabeverstoß. Wenn ein nicht transaktioniertes Thread die Datei ändert, bevor der transaktionierte Thread dies tut, und die Datei weiterhin geöffnet ist, wenn die Transaktion versucht, sie zu öffnen, empfängt die Transaktion den Fehler ERROR_TRANSACTIONAL_CONFLICT.

Beispiele

Ein Beispiel finden Sie unter Abrufen und Ändern von Dateiattributen.

Hinweis

Der Fileapi.h-Header definiert GetFileAttributes als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht Codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
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

Siehe auch

DeviceIoControl

Dateiattributskonstanten

Dateiverwaltungsfunktionen

FindFirstFile

FindNextFile

GetFileAttributesEx

GetFileAttributesTransacted

SetFileAttributes

Symbolische Links