Freigeben über


GetFileAttributesTransactedA-Funktion (winbase.h)

[Microsoft empfiehlt Entwicklern dringend, alternative Mittel zu nutzen, um die Anforderungen Ihrer Anwendung zu erreichen. 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 Transactional NTFS.]

Ruft Dateisystemattribute für eine angegebene Datei oder ein angegebenes Verzeichnis als transacted-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 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.

Die Datei oder das Verzeichnis muss sich auf dem lokalen Computer befinden; andernfalls schlägt die Funktion fehl, und der letzte Fehlercode wird auf ERROR_TRANSACTIONS_UNSUPPORTED_REMOTEfestgelegt.

[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 parameter lpFileInformation ist eine WIN32_FILE_ATTRIBUTE_DATA Struktur.

[out] lpFileInformation

Ein Zeiger auf einen Puffer, der die Attributinformationen empfängt.

Der Typ der In diesem Puffer gespeicherten Attributinformationen wird durch den Wert fInfoLevelIdbestimmt. Wenn der parameter fInfoLevelIdGetFileExInfoStandard 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). Rufen Sie GetLastErrorauf, um erweiterte Fehlerinformationen zu erhalten.

Bemerkungen

Wenn GetFileAttributesTransacted- für ein Verzeichnis aufgerufen wird, das ein bereitgestellter Ordner ist, werden die Attribute des Verzeichnisses zurückgegeben, nicht die attribute des Stammverzeichnisses im Volume, 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 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 Abgestützt
Server Message Block (SMB) 3.0-Protokoll Nein
SMB 3.0 Transparent Failover (TFO) Nein
SMB 3.0 mit Skalierungsdateifreigaben (SO) Nein
Freigegebenes Clustervolumedateisystem (CsvFS) Nein
Resilient File System (ReFS) Nein
 

SMB 3.0 unterstützt TxF nicht.

Symbolische Verknüpfungen: Wenn der Pfad auf eine symbolische Verknüpfung verweist, 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 eine Datei dagegen für Änderungen außerhalb einer Transaktion geöffnet ist, kann kein transacted Thread die Datei zur Änderung öffnen, bis das nicht transaktionente Handle geschlossen wird. Wenn ein Nicht-Transact-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.

Anmerkung

Der winbase.h-Header definiert GetFileAttributesTransacted 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 Vista [nur Desktop-Apps]
mindestens unterstützte Server- Windows Server 2008 [Nur Desktop-Apps]
Zielplattform- Fenster
Header- winbase.h (enthalten Windows.h)
Library Kernel32.lib
DLL- Kernel32.dll

Siehe auch

DeviceIoControl-

Dateiattributekonstanten

Dateiverwaltungsfunktionen

FindFirstFileTransacted

FindNextFile-

GET_FILEEX_INFO_LEVELS

SetFileAttributesTransacted-

symbolische Verknüpfungen

Transaktions-NTFS-