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\".

Retornar valor

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 retornado máximo possível é MAX_PATH+1 (261).

Comentários

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á da mesma forma que GetTempPath.

A função GetTempPath2 verifica a existência de variáveis de ambiente na seguinte ordem e usa o primeiro caminho encontrado:

  1. O caminho especificado pela variável de ambiente TMP.
  2. O caminho especificado pela variável de ambiente TEMP.
  3. O caminho especificado pela variável de ambiente USERPROFILE.
  4. O diretório do Windows.
Observe que a função não verifica se o caminho existe, nem testa 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 link simbólico – se o caminho apontar para um link simbólico, o nome do caminho temporário manterá quaisquer links simbólicos.

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

Tecnologia Com suporte
Protocolo SMB (SMB) 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 Clusterizado (CsvFS) Sim
ReFS (Sistema de Arquivos Resiliente) Sim
 

Exemplos

Para obter um exemplo, consulte Criando e usando um arquivo temporário.

Observação

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 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

Requisito Valor
Cliente mínimo com suporte Windows 10 Build 20348
Servidor mínimo com suporte Windows Server Build 20348
Cabeçalho fileapi.h (inclua Windows.h)
Biblioteca Kernel32.lib
DLL Kernel32.dll

Confira também

Funções de gerenciamento de arquivos

GetTempFileName

Links simbólicos