GetFileInformationByHandleEx-Funktion (winbase.h)
Ruft Dateiinformationen für die angegebene Datei ab.
Eine einfachere Version dieser Funktion für Desktop-Apps finden Sie unter GetFileInformationByHandle.
Informationen zum Festlegen von Dateiinformationen mithilfe eines Dateihandles finden Sie unter SetFileInformationByHandle.
Syntax
BOOL GetFileInformationByHandleEx(
[in] HANDLE hFile,
[in] FILE_INFO_BY_HANDLE_CLASS FileInformationClass,
[out] LPVOID lpFileInformation,
[in] DWORD dwBufferSize
);
Parameter
[in] hFile
Ein Handle für die Datei, das die abzurufenden Informationen enthält.
Dieser Handle sollte kein Pipehandle sein.
[in] FileInformationClass
Ein FILE_INFO_BY_HANDLE_CLASS Enumerationswert, der den Typ der abzurufenden Informationen angibt.
Eine Tabelle mit gültigen Werten finden Sie im Abschnitt Hinweise.
[out] lpFileInformation
Ein Zeiger auf den Puffer, der die angeforderten Dateiinformationen empfängt. Die zurückgegebene Struktur entspricht der Klasse, die von FileInformationClass angegeben wird. Eine Tabelle mit gültigen Strukturtypen finden Sie im Abschnitt Hinweise.
[in] dwBufferSize
Die Größe des puffers lpFileInformation in Bytes.
Rückgabewert
Wenn die Funktion erfolgreich ist, ist der Rückgabewert nonzero, und Dateiinformationsdaten sind im Puffer enthalten, auf den der lpFileInformation-Parameter verweist.
Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.
Hinweise
Wenn FileInformationClassFileStreamInfo ist und die Aufrufe erfolgreich sind, aber keine Streams zurückgegeben werden, wird der von GetLastError zurückgegebene Fehler ERROR_HANDLE_EOF.
Bestimmte Dateiinformationsklassen verhalten sich in verschiedenen Betriebssystemversionen geringfügig unterschiedlich. Diese Klassen werden von den zugrunde liegenden Treibern unterstützt, und alle informationen, die sie zurückgeben, können sich zwischen Betriebssystemversionen ändern.
Die folgende Tabelle zeigt die gültigen Dateiinformationsklassentypen und die entsprechenden Datentypen für die Verwendung mit dieser Funktion.
FileInformationClass-Wert | lpFileInformation-Typ |
---|---|
FileBasicInfo (0) | FILE_BASIC_INFO |
FileStandardInfo (1) | FILE_STANDARD_INFO |
FileNameInfo (2) | FILE_NAME_INFO |
FileStreamInfo (7) | FILE_STREAM_INFO |
FileCompressionInfo (8) | FILE_COMPRESSION_INFO |
FileAttributeTagInfo (9) | FILE_ATTRIBUTE_TAG_INFO |
FileIdBothDirectoryInfo (0xa) | FILE_ID_BOTH_DIR_INFO |
FileIdBothDirectoryRestartInfo (0xb) | FILE_ID_BOTH_DIR_INFO |
FileRemoteProtocolInfo (0xd) | FILE_REMOTE_PROTOCOL_INFO |
FileFullDirectoryInfo (0xe) | FILE_FULL_DIR_INFO |
FileFullDirectoryRestartInfo (0xf) | FILE_FULL_DIR_INFO |
FileStorageInfo (0x10) | FILE_STORAGE_INFO |
FileAlignmentInfo (0x11) | FILE_ALIGNMENT_INFO |
FileIdInfo (0x12) | FILE_ID_INFO |
FileIdExtdDirectoryInfo (0x13) | FILE_ID_EXTD_DIR_INFO |
FileIdExtdDirectoryRestartInfo (0x14) | FILE_ID_EXTD_DIR_INFO |
Transaktionen
Wenn zum Zeitpunkt des Aufrufs eine Transaktion an den Thread gebunden ist, gibt die Funktion die komprimierte Dateigröße der isolierten Dateiansicht zurück. Weitere Informationen finden Sie unter Informationen zu Transaktions-NTFS.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) | Ja |
SMB 3.0 Transparent Failover (TFO) | Ja |
SMB 3.0 mit Dateifreigaben mit horizontaler Skalierung (SO) | Ja |
Dateisystem mit freigegebenen Clustervolumes (CsvFS) | Ja |
Robustes Dateisystem (Resilient File System, ReFS) | Ja |
Anforderungen
Unterstützte Mindestversion (Client) | Windows Vista [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | winbase.h (einschließlich Windows.h) |
Bibliothek | Kernel32.lib; FileExtd.lib unter Windows Server 2003 und Windows XP |
DLL | Kernel32.dll |
Verteilbare Komponente | Windows SDK unter Windows Server 2003 und Windows XP. |