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

DeviceIoControl

Dateiattributskonstanten

Dateiverwaltungsfunktionen

FindFirstFileTransacted

FindNextFile

GET_FILEEX_INFO_LEVELS

SetFileAttributesTransacted

Symbolische Links

Transaktions-NTFS