GetFileAttributesTransactedW-Funktion (winbase.h)
[Microsoft empfiehlt Entwicklern dringend, alternative Mittel zu verwenden, um die Anforderungen Ihrer Anwendung zu erfüllen. Viele Szenarios, für die TxF entwickelt wurde, können mit einfacheren und leichter verfügbaren 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 transaktionalem NTFS.]
Ruft Dateisystemattribute für eine angegebene Datei oder ein angegebenes Verzeichnis als Transaktionsvorgang ab.
Syntax
BOOL GetFileAttributesTransactedW(
[in] LPCWSTR lpFileName,
[in] GET_FILEEX_INFO_LEVELS fInfoLevelId,
[out] LPVOID lpFileInformation,
[in] HANDLE hTransaction
);
Parameter
[in] lpFileName
Der Name der Datei oder des Verzeichnisses.
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_REMOTE festgelegt.
Standardmäßig ist der Name auf MAX_PATH Zeichen beschränkt. Um dieses Limit auf 32.767 breite Zeichen zu erweitern, müssen Sie dem Pfad "\\?\" voranstellen. 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 entfernen, ohne "\\?\" vorauszustellen. Weitere Informationen finden Sie im Abschnitt "Maximale Pfadlängenbegrenzung" unter Benennung von Dateien, Pfaden und Namespaces .
[in] fInfoLevelId
Die Ebene der abzurufenden Attributinformationen.
Dieser Parameter kann der folgende Wert aus der GET_FILEEX_INFO_LEVELS-Enumeration sein.
Wert | Bedeutung |
---|---|
|
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 0 (null). Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.
Hinweise
Wenn GetFileAttributesTransacted für ein Verzeichnis aufgerufen wird, das ein eingebundener Ordner ist, gibt es die Attribute des Verzeichnisses zurück, nicht die Attribute des Stammverzeichnisses auf dem Volume, das der eingebundene Ordner dem Verzeichnis ordnet. 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.
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) | No |
SMB 3.0 Transparent Failover (TFO) | No |
SMB 3.0 mit Dateifreigaben mit horizontaler Skalierung (SO) | No |
Dateisystem mit freigegebenen Clustervolumes (CsvFS) | No |
Robustes Dateisystem (Resilient File System, ReFS) | No |
SMB 3.0 unterstützt TxF nicht.
Symbolische Links: Wenn der Pfad auf einen symbolischen Link verweist, gibt die Funktion Attribute für den symbolischen Link zurück.
Transaktionen
Wenn eine Datei zur Änderung in einer Transaktion geöffnet ist, kann kein anderer Thread die Datei zur Änderung öffnen, bis das Commit für die Transaktion erfolgt. Wenn hingegen eine Datei zur Änderung außerhalb einer Transaktion geöffnet ist, kann kein Transaktionsthread die Datei zur Änderung öffnen, bis das nicht abgewickelte Handle geschlossen ist. Wenn für einen nicht transaktionierten Thread ein Handle zum Ändern einer Datei geöffnet ist, 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 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 nicht codierungsneutralem Code 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 Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | winbase.h (einschließlich Windows.h) |
Bibliothek | Kernel32.lib |
DLL | Kernel32.dll |
Siehe auch
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für