Função GetTempPathA (fileapi.h)

Recupera o caminho do diretório designado para arquivos temporários.

Sintaxe

DWORD GetTempPathA(
  [in]  DWORD nBufferLength,
  [out] LPSTR lpBuffer
);

Parâmetros

[in] nBufferLength

O tamanho do buffer de cadeia de caracteres identificado por lpBuffer, em TCHARs.

[out] lpBuffer

Um ponteiro para um buffer de cadeia de caracteres que recebe a cadeia de caracteres terminada em nulo especificando o caminho do arquivo temporário. A cadeia de caracteres retornada termina com uma barra invertida, por exemplo, "C:\TEMP\".

Valor retornado

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

Comentários

Observação

Os aplicativos devem chamar GetTempPath2 em vez de GetTempPath.

A função GetTempPath 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 GetTempPath 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 simbólico do link – 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 GetTempPath 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 XP [aplicativos da área de trabalho | aplicativos UWP]
Servidor mínimo com suporte Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
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