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 transacted-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 breite Zeichen zu erweitern, stellen Sie "\\?\" dem Pfad voran. Weitere Informationen finden Sie unter Namensdateien, Pfade und Namespaces.
Trinkgeld
Ab Windows 10, Version 1607, können Sie sich anmelden, um die MAX_PATH Einschränkung zu entfernen, ohne "\\?\". Weitere Informationen finden Sie im Abschnitt "Maximale Pfadlängenbeschränkung" Benennungsdateien, Pfade 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 File Attribute Constants.
Wenn die Funktion fehlschlägt, wird der Rückgabewert INVALID_FILE_ATTRIBUTES. Rufen Sie GetLastErrorauf, um erweiterte Fehlerinformationen zu erhalten.
Bemerkungen
Wenn GetFileAttributes- für ein Verzeichnis aufgerufen wird, das ein bereitgestellter Ordner ist, werden die Dateisystemattribute des Verzeichnisses und nicht die des Stammverzeichnisses im Volume zurückgegeben, dem der bereitgestellte Ordner dem Verzeichnis zugeordnet ist. Rufen Sie GetVolumeNameForVolumeMountPoint- auf, um die Dateiattribute 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_NETPATHzurück. Sie müssen einen Pfad zu einem Unterordner für diese Freigabe angeben.
In Windows 8 und Windows Server 2012 wird diese Funktion von den folgenden Technologien unterstützt.
Technologie | Abgestützt |
---|---|
Server Message Block (SMB) 3.0-Protokoll | Ja |
SMB 3.0 Transparent Failover (TFO) | Ja |
SMB 3.0 mit Skalierungsdateifreigaben (SO) | Ja |
Freigegebenes Clustervolumedateisystem (CsvFS) | Ja |
Resilient File System (ReFS) | Ja |
Verhalten symbolischer Verknüpfungen – Wenn der Pfad auf eine symbolische Verknüpfung zeigt, gibt die Funktion Attribute für die symbolische Verknüpfung zurück.
Transacted Operations
Wenn eine Datei zur Änderung in einer Transaktion geöffnet ist, kann kein anderer Thread die Datei zur Änderung öffnen, bis die Transaktion zugesichert wurde. Wenn also ein transacted Thread die Datei zuerst öffnet, erhalten alle nachfolgenden Threads, die versuchen, die Datei zu ändern, bevor die Transaktion zugesichert wird, eine Freigabeverletzung. Wenn ein Nicht-Transact-Thread die Datei vor dem Transaktionsthread ändert und die Datei weiterhin geöffnet ist, wenn die Transaktion versucht, sie zu öffnen, erhält die Transaktion den Fehler ERROR_TRANSACTIONAL_CONFLICT.Beispiele
Ein Beispiel finden Sie unter Abrufen und Ändern von Dateiattributen.
Anmerkung
Der Fileapi.h-Header definiert GetFileAttributes 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 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 |
---|---|
mindestens unterstützte Client- | Windows XP [Desktop-Apps | UWP-Apps] |
mindestens unterstützte Server- | Windows Server 2003 [Desktop-Apps | UWP-Apps] |
Zielplattform- | Fenster |
Header- | fileapi.h (include Windows.h) |
Library | Kernel32.lib |
DLL- | Kernel32.dll |