Função GetFileInformationByHandleEx (winbase.h)
Recupera informações do arquivo especificado.
Para obter uma versão mais básica dessa função para aplicativos da área de trabalho, consulte GetFileInformationByHandle.
Para definir informações de arquivo usando um identificador de arquivo, consulte SetFileInformationByHandle.
Sintaxe
BOOL GetFileInformationByHandleEx(
[in] HANDLE hFile,
[in] FILE_INFO_BY_HANDLE_CLASS FileInformationClass,
[out] LPVOID lpFileInformation,
[in] DWORD dwBufferSize
);
Parâmetros
[in] hFile
Um identificador para o arquivo que contém as informações a serem recuperadas.
Esse identificador não deve ser um identificador de pipe.
[in] FileInformationClass
Um FILE_INFO_BY_HANDLE_CLASS valor de enumeração que especifica o tipo de informação a ser recuperado.
Para obter uma tabela de valores válidos, consulte a seção Comentários.
[out] lpFileInformation
Um ponteiro para o buffer que recebe as informações de arquivo solicitadas. A estrutura retornada corresponde à classe especificada por FileInformationClass. Para obter uma tabela de tipos de estrutura válidos, consulte a seção Comentários.
[in] dwBufferSize
O tamanho do buffer lpFileInformation , em bytes.
Valor retornado
Se a função for bem-sucedida, o valor retornado será diferente de zero e os dados de informações do arquivo serão contidos no buffer apontado pelo parâmetro lpFileInformation .
Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.
Comentários
Se FileInformationClass for FileStreamInfo e as chamadas forem bem-sucedidas, mas nenhum fluxo for retornado, o erro retornado por GetLastErrorserá ERROR_HANDLE_EOF.
Determinadas classes de informações de arquivo se comportam um pouco diferente em diferentes versões do sistema operacional. Essas classes são compatíveis com os drivers subjacentes e todas as informações retornadas estão sujeitas a alterações entre as versões do sistema operacional.
A tabela a seguir mostra os tipos de classe de informações de arquivo válidos e seus tipos de estrutura de dados correspondentes para uso com essa função.
Valor 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 |
Operações transacionadas
Se houver uma transação associada ao thread no momento da chamada, a função retornará o tamanho do arquivo compactado da exibição de arquivo isolado. Para obter mais informações, consulte Sobre o NTFS transacional.No Windows 8 e Windows Server 2012, essa função é compatível com as tecnologias a seguir.
Tecnologia | Com suporte |
---|---|
Protocolo SMB (SMB) 3.0 | Sim |
TFO (Failover transparente) do SMB 3.0 | Sim |
SMB 3.0 com compartilhamentos de arquivos de expansão (SO) | Sim |
Sistema de arquivos de Volume Compartilhado Clusterizado (CsvFS) | Sim |
ReFS (Sistema de Arquivos Resiliente) | Sim |
Requisitos
Cliente mínimo com suporte | Windows Vista [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | winbase.h (inclua Windows.h) |
Biblioteca | Kernel32.lib; FileExtd.lib no Windows Server 2003 e Windows XP |
DLL | Kernel32.dll |
Redistribuível | SDK do Windows no Windows Server 2003 e Windows XP. |