GetFileAttributesTransactedA-Funktion (winbase.h)

[Microsoft empfiehlt Entwicklern dringend, alternative Mittel zu verwenden, um die Anforderungen Ihrer Anwendung zu erfüllen. Viele Szenarien, für die TxF entwickelt wurde, können durch einfachere und leichter verfügbare Techniken erreicht werden. Darüber hinaus ist TxF in zukünftigen Versionen von Microsoft Windows möglicherweise nicht verfügbar. Weitere Informationen und Alternativen zu TxF finden Sie unter Alternativen zur Verwendung von Transaktions-NTFS.]

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

Syntax

BOOL GetFileAttributesTransactedA(
  [in]  LPCSTR                 lpFileName,
  [in]  GET_FILEEX_INFO_LEVELS fInfoLevelId,
  [out] LPVOID                 lpFileInformation,
  [in]  HANDLE                 hTransaction
);

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 .

Die Datei oder das Verzeichnis muss sich auf dem lokalen Computer befinden. Andernfalls schlägt die Funktion fehl, und der letzte Fehlercode ist auf ERROR_TRANSACTIONS_UNSUPPORTED_REMOTE festgelegt.

[in] fInfoLevelId

Die Ebene der abzurufenden Attributinformationen.

Dieser Parameter kann der folgende Wert aus der GET_FILEEX_INFO_LEVELS-Enumeration sein.

Wert Bedeutung
GetFileExInfoStandard
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. Wenn der fInfoLevelId-ParameterGetFileExInfoStandard ist, verweist dieser Parameter auf eine WIN32_FILE_ATTRIBUTE_DATA-Struktur .

[in] hTransaction

Ein Handle für die Transaktion. Dieses Handle wird von der CreateTransaction-Funktion zurückgegeben.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.

Wenn die Funktion fehlschlägt, ist der Rückgabewert null (0). Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Bemerkungen

Wenn GetFileAttributesTransacted für ein Verzeichnis aufgerufen wird, bei dem es sich um einen eingebundenen Ordner handelt, werden die Attribute 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 GetFileAttributesTransacted. 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 Nein
SMB 3.0 Transparent Failover (TFO) Nein
SMB 3.0 mit Dateifreigaben für horizontales Skalieren (SO) Nein
Freigegebenes Clustervolume-Dateisystem (CsvFS) Nein
Robustes Dateisystem (Resilient File System, ReFS) Nein
 

SMB 3.0 unterstützt TxF nicht.

Symbolische Links: Wenn der Pfad auf einen symbolischen Link zeigt, 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. Umgekehrt kann, wenn eine Datei außerhalb einer Transaktion zur Änderung geöffnet ist, kein transaktionsbasierter Thread die Datei zur Änderung öffnen, bis das nicht transaktionierte Handle geschlossen wird. Wenn ein nicht transaktioniertes Thread ein Handle zum Ändern einer Datei geöffnet hat, schlägt ein Aufruf von GetFileAttributesTransacted für diese Datei mit einem ERROR_TRANSACTIONAL_CONFLICT Fehler fehl.

Hinweis

Der winbase.h-Header definiert GetFileAttributesTransacted 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

   
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winbase.h (Windows.h einschließen)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

Deviceiocontrol

Dateiattributekonstanten

Dateiverwaltungsfunktionen

FindFirstFileTransacted

FindNextFile

GET_FILEEX_INFO_LEVELS

SetFileAttributesTransacted

Symbolische Links

Transaktions-NTFS