Função GetFileAttributesTransactedA (winbase.h)
[A Microsoft recomenda fortemente que os desenvolvedores utilizem meios alternativos para alcançar as necessidades do 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 para usar o 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 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.
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 das informações de atributo a serem recuperadas.
Esse parâmetro pode ser o seguinte valor da enumeração GET_FILEEX_INFO_LEVELS.
Valor | Significado |
---|---|
|
O parâmetro lpFileInformation |
[out] lpFileInformation
Um ponteiro para um buffer que recebe as informações de atributo.
O tipo de informações de atributo armazenadas 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
Valor de retorno
Se a função for bem-sucedida, o valor retornado não será zero.
Se a função falhar, o valor retornado será zero (0). Para obter informações de erro estendidas, chame GetLastError.
Observações
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.
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 | Não |
TFO (Failover Transparente) do SMB 3.0 | Não |
SMB 3.0 com Compartilhamentos de Arquivos de Expansão (SO) | Não |
Sistema de Arquivos de Volume Compartilhado de Cluster (CsvFS) | Não |
ReFS (Sistema de Arquivos Resiliente) | Não |
O SMB 3.0 não dá suporte ao TxF.
links simbólicos: 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. 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 desse arquivo falhará com um erro ERROR_TRANSACTIONAL_CONFLICT.Nota
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 do 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 Vista [somente aplicativos da área de trabalho] |
servidor com suporte mínimo | Windows Server 2008 [somente aplicativos da área de trabalho] |
da Plataforma de Destino |
Windows |
cabeçalho | winbase.h (inclua Windows.h) |
biblioteca | Kernel32.lib |
de DLL |
Kernel32.dll |
Consulte também
constantes de atributo de arquivo