Função GetTempPath2A (fileapi.h)
Recupera o caminho do diretório designado para arquivos temporários, com base nos privilégios do processo de chamada.
Sintaxe
DWORD GetTempPath2A(
[in] DWORD BufferLength,
[out] LPSTR Buffer
);
Parâmetros
[in] BufferLength
O tamanho do buffer de cadeia de caracteres identificado por lpBuffer, em TCHARs.
[out] Buffer
Um ponteiro para um buffer de cadeia de caracteres que recebe a cadeia de caracteres terminada em nulo especificando o caminho de arquivo temporário. A cadeia de caracteres retornada termina com uma barra invertida, por exemplo, "C:\TEMP\".
Valor de retorno
Se a função for bem-sucedida, o valor retornado será o comprimento, em TCHARs, da cadeia de caracteres copiada para lpBuffer, sem incluir o caractere nulo de terminação. Se o valor retornado for maior que nBufferLength, o valor retornado será o comprimento, em TCHARs, do buffer necessário para manter o caminho.
Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.
O valor de retorno máximo possível é MAX_PATH+1 (261).
Observações
Ao chamar essa função de um processo em execução como SYSTEM, ela retornará o caminho C:\Windows\SystemTemp, que é inacessível para processos não SYSTEM. Para processos não SYSTEM, GetTempPath2 se comportarão da mesma forma que GetTempPath.
Para processos que não são do sistema, a função GetTempPath2 verifica a existência de variáveis de ambiente na seguinte ordem e usa o primeiro caminho encontrado:
- O caminho especificado pela variável de ambiente TMP.
- O caminho especificado pela variável de ambiente TEMP.
- O caminho especificado pela variável de ambiente USERPROFILE.
- O diretório do Windows.
Observe que a função não verifica se o caminho existe, nem testa para ver se o processo atual tem algum tipo de direito de acesso ao caminho. A função GetTempPath2 retorna a cadeia de caracteres formatada corretamente que especifica o caminho totalmente qualificado com base na ordem de pesquisa da variável de ambiente, conforme especificado anteriormente. O aplicativo deve verificar a existência do caminho e os direitos de acesso adequados ao caminho antes de qualquer uso para operações de E/S de arquivo.
comportamento de vínculo simbólico: Se o caminho apontar para um vínculo simbólico, o nome do caminho temporário manterá quaisquer vínculos simbólicos.
No Windows 8 e no Windows Server 2012, essa função é compatível com as seguintes tecnologias:
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 |
Exemplos
Para obter um exemplo, consulte Criando e usando um arquivo temporário.
Nota
O cabeçalho fileapi.h
define GetTempPath2 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. 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 Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 11 Build 22000 |
servidor com suporte mínimo | Build do Windows Server 20348 |
cabeçalho | fileapi.h (inclua Windows.h) |
biblioteca | Kernel32.lib |
de DLL |
Kernel32.dll |