Compartilhar via


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:

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

Consulte também

Funções de gerenciamento de arquivos

GetTempFileName

links simbólicos