Funzione GetFileInformationByHandleEx (winbase.h)
Recupera le informazioni sui file per il file specificato.
Per una versione più semplice di questa funzione per le app desktop, vedi GetFileInformationByHandle.
Per impostare le informazioni sui file usando un handle di file, vedere SetFileInformationByHandle.
Sintassi
BOOL GetFileInformationByHandleEx(
[in] HANDLE hFile,
[in] FILE_INFO_BY_HANDLE_CLASS FileInformationClass,
[out] LPVOID lpFileInformation,
[in] DWORD dwBufferSize
);
Parametri
[in] hFile
Handle per il file che contiene le informazioni da recuperare.
Questo handle non deve essere un handle pipe.
[in] FileInformationClass
Valore di enumerazione FILE_INFO_BY_HANDLE_CLASS che specifica il tipo di informazioni da recuperare.
Per una tabella di valori validi, vedere la sezione Osservazioni.
[out] lpFileInformation
Puntatore al buffer che riceve le informazioni sul file richieste. La struttura restituita corrisponde alla classe specificata da FileInformationClass. Per una tabella di tipi di struttura validi, vedere la sezione Osservazioni.
[in] dwBufferSize
Dimensioni del buffer lpFileInformation , in byte.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è diverso da zero e i dati delle informazioni sui file sono contenuti nel buffer a cui punta il parametro lpFileInformation .
Se la funzione ha esito negativo, il valore restituito è zero. Per informazioni dettagliate sull'errore, chiamare GetLastError.
Commenti
Se FileInformationClass è FileStreamInfo e le chiamate hanno esito positivo ma non vengono restituiti flussi, l'errore restituito da GetLastError è ERROR_HANDLE_EOF.
Alcune classi di informazioni sui file si comportano in modo leggermente diverso nelle diverse versioni del sistema operativo. Queste classi sono supportate dai driver sottostanti e tutte le informazioni restituite sono soggette a modifiche tra le versioni del sistema operativo.
Nella tabella seguente vengono illustrati i tipi di classe di informazioni sui file validi e i tipi di struttura di dati corrispondenti da usare con questa funzione.
Valore FileInformationClass | Tipo lpFileInformation |
---|---|
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 |
Operazioni transazionate
Se è presente una transazione associata al thread al momento della chiamata, la funzione restituisce le dimensioni del file compresso della visualizzazione file isolata. Per altre informazioni, vedere Informazioni su NTFS transazionale.In Windows 8 e Windows Server 2012 questa funzione è supportata dalle tecnologie seguenti.
Tecnologia | Supportato |
---|---|
Protocollo SMB (Server Message Block) 3.0 | Sì |
Failover trasparente SMB 3.0 (TFO) | Sì |
SMB 3.0 con condivisioni file di scalabilità orizzontale (SO) | Sì |
File system del volume condiviso cluster (CsvFS) | Sì |
Resilient File System (ReFS) | Sì |
Requisiti
Client minimo supportato | Windows Vista [app desktop | App UWP] |
Server minimo supportato | Windows Server 2008 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | winbase.h (include Windows.h) |
Libreria | Kernel32.lib; FileExtd.lib in Windows Server 2003 e Windows XP |
DLL | Kernel32.dll |
Componente ridistribuibile | Windows SDK in Windows Server 2003 e Windows XP. |