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