Compartilhar via


Função GetFileAttributesW (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 GetFileAttributesTransacted.

Sintaxe

DWORD GetFileAttributesW(
  [in] LPCWSTR 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

DeviceIoControl

constantes de atributo de arquivo

Funções de gerenciamento de arquivos

FindFirstFile

FindNextFile

GetFileAttributesEx

GetFileAttributesTransacted

SetFileAttributes

links simbólicos