Função GetFileAttributesTransactedA (winbase.h)

[A Microsoft recomenda fortemente que os desenvolvedores utilizem meios alternativos para atender às necessidades do seu aplicativo. Muitos cenários para os quais o TxF foi desenvolvido podem ser obtidos por meio de técnicas mais simples e prontamente disponíveis. Além disso, o TxF pode não estar disponível em versões futuras do Microsoft Windows. Para obter mais informações e alternativas ao TxF, consulte Alternativas ao uso do NTFS transacional.]

Recupera atributos do sistema de arquivos para um arquivo ou diretório especificado como uma operação transacionada.

Sintaxe

BOOL GetFileAttributesTransactedA(
  [in]  LPCSTR                 lpFileName,
  [in]  GET_FILEEX_INFO_LEVELS fInfoLevelId,
  [out] LPVOID                 lpFileInformation,
  [in]  HANDLE                 hTransaction
);

Parâmetros

[in] lpFileName

O nome do diretório ou arquivo.

Por padrão, o nome é limitado a MAX_PATH caracteres. Para estender esse limite para 32.767 caracteres largos, acrescente "\\?\" ao caminho. Para obter mais informações, confira Nomear arquivos, caminhos e namespaces.

Dica

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.

O arquivo ou diretório deve residir no computador local; caso contrário, a função falhará e o último código de erro será definido como ERROR_TRANSACTIONS_UNSUPPORTED_REMOTE.

[in] fInfoLevelId

O nível de informações de atributo a serem recuperadas.

Esse parâmetro pode ser o seguinte valor da enumeração GET_FILEEX_INFO_LEVELS .

Valor Significado
GetFileExInfoStandard
O parâmetro lpFileInformation é uma estrutura WIN32_FILE_ATTRIBUTE_DATA .

[out] lpFileInformation

Um ponteiro para um buffer que recebe as informações de atributo.

O tipo de informação de atributo armazenado nesse buffer é determinado pelo valor de fInfoLevelId. Se o parâmetro fInfoLevelId for GetFileExInfoStandard, esse parâmetro apontará para uma estrutura WIN32_FILE_ATTRIBUTE_DATA

[in] hTransaction

Um identificador para a transação. Esse identificador é retornado pela função CreateTransaction .

Valor retornado

Se a função for bem-sucedida, o valor retornado será diferente de zero.

Se a função falhar, o valor retornado será zero (0). Para obter informações de erro estendidas, chame GetLastError.

Comentários

Quando GetFileAttributesTransacted é chamado em um diretório que é uma pasta montada, ele retorna os atributos 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 GetFileAttributesTransacted. Os resultados são os atributos do diretório raiz no volume associado.

Em Windows 8 e Windows Server 2012, essa função é compatível com as tecnologias a seguir.

Tecnologia Com suporte
Protocolo SMB 3.0 Não
TFO (Failover Transparente) do SMB 3.0 Não
SMB 3.0 com compartilhamentos de arquivos de expansão (SO) Não
CsvFS (Sistema de Arquivos de Volume Compartilhado clusterizado) Não
ReFS (Sistema de Arquivos Resiliente) Não
 

O SMB 3.0 não dá suporte a TxF.

Links simbólicos: Se o caminho apontar para um link 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. Por outro lado, se um arquivo estiver aberto para modificação fora de uma transação, nenhum thread transacionado poderá abrir o arquivo para modificação até que o identificador não transacionado seja fechado. Se um thread não transacionado tiver um identificador aberto para modificar um arquivo, uma chamada para GetFileAttributesTransacted para esse arquivo falhará com um erro de ERROR_TRANSACTIONAL_CONFLICT .

Observação

O cabeçalho winbase.h define GetFileAttributesTransacted 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. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

   
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho winbase.h (incluir Windows.h)
Biblioteca Kernel32.lib
DLL Kernel32.dll

Confira também

Deviceiocontrol

Constantes de atributo de arquivo

Funções de gerenciamento de arquivos

FindFirstFileTransacted

Findnextfile

GET_FILEEX_INFO_LEVELS

SetFileAttributesTransacted

Links simbólicos

NTFS transacional