Função GetFileAttributesA (fileapi.h)
Recupera atributos do sistema de arquivos para um arquivo ou diretório especificado.
Para obter mais informações de atributo, use a função GetFileAttributesEx.
Para executar essa operação como uma operação transacionada, use a função
Sintaxe
DWORD GetFileAttributesA(
[in] LPCSTR lpFileName
);
Parâmetros
[in] lpFileName
O nome do arquivo ou diretório.
Por padrão, o nome é limitado a MAX_PATH caracteres. Para estender esse limite para 32.767 caracteres de largura, acrescente "\\?\" ao caminho. Para obter mais informações, consulte Arquivos de Nomenclatura, Caminhos e Namespaces.
Ponta
A partir do Windows 10, versão 1607, você pode optar por remover a limitação de MAX_PATH sem acrescentar "\\?\". Consulte a seção "Limitação máxima do comprimento do caminho" de arquivos de nomenclatura, caminhos e namespaces para obter detalhes.
Valor de retorno
Se a função for bem-sucedida, o valor retornado conterá os atributos do arquivo ou diretório especificado. Para obter uma lista de valores de atributo e suas descrições, consulte As constantes de atributo de arquivo.
Se a função falhar, o valor retornado será INVALID_FILE_ATTRIBUTES. Para obter informações de erro estendidas, chame GetLastError.
Observações
Quando GetFileAttributes é chamado em um diretório que é uma pasta montada, ele retorna os atributos do sistema de arquivos do diretório, não os do diretório raiz no volume que a pasta montada associa ao diretório. Para obter os atributos de arquivo do volume associado, chame GetVolumeNameForVolumeMountPoint para obter o nome do volume associado. Em seguida, use o nome resultante em uma chamada para GetFileAttributes. Os resultados são os atributos do diretório raiz no volume associado.
Se você chamar GetFileAttributes para um compartilhamento de rede, a função falhará e GetLastError retornará ERROR_BAD_NETPATH. Você deve especificar um caminho para uma subpasta nesse compartilhamento.
No Windows 8 e no Windows Server 2012, essa função é compatível com as tecnologias a seguir.
Tecnologia | Suportado |
---|---|
Protocolo SMB (Bloco de Mensagens do Servidor) 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 de Cluster (CsvFS) | Sim |
ReFS (Sistema de Arquivos Resiliente) | Sim |
Comportamento simbólico de vínculo — se o caminho apontar para um vínculo simbólico, a função retornará atributos para o link simbólico.
operações transacionadas
Se um arquivo estiver aberto para modificação em uma transação, nenhum outro thread poderá abrir o arquivo para modificação até que a transação seja confirmada. Portanto, se um thread transacionado abrir o arquivo primeiro, os threads subsequentes que tentarem modificar o arquivo antes que a transação seja confirmada receberão uma violação de compartilhamento. Se um thread não transacionado modificar o arquivo antes do thread transacionado e o arquivo ainda estiver aberto quando a transação tentar abri-lo, a transação receberá o erro ERROR_TRANSACTIONAL_CONFLICT.Exemplos
Para obter um exemplo, consulte Recuperar e alterar atributos de arquivo.
Nota
O cabeçalho fileapi.h define GetFileAttributes como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows XP [aplicativos da área de trabalho | Aplicativos UWP] |
servidor com suporte mínimo | Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP] |
da Plataforma de Destino |
Windows |
cabeçalho | fileapi.h (inclua Windows.h) |
biblioteca | Kernel32.lib |
de DLL |
Kernel32.dll |
Consulte também
constantes de atributo de arquivo