Função ExpandEnvironmentStringsA (processenv.h)

Expande cadeias de caracteres de variável de ambiente e as substitui pelos valores definidos para o usuário atual.

Para especificar o bloco de ambiente para um determinado usuário ou sistema, use a função ExpandEnvironmentStringsForUser.

Sintaxe

DWORD ExpandEnvironmentStringsA(
  [in]            LPCSTR lpSrc,
  [out, optional] LPSTR  lpDst,
  [in]            DWORD  nSize
);

Parâmetros

[in] lpSrc

Um buffer que contém uma ou mais cadeias de caracteres de variável de ambiente no formulário: %variableName%. Para cada referência desse tipo, a parte %variableName% é substituída pelo valor atual dessa variável de ambiente.

O caso é ignorado ao procurar o nome da variável de ambiente. Se o nome não for encontrado, a parte %variableName% será deixada sem teste.

Observe que essa função não dá suporte a todos os recursos compatíveis com Cmd.exe. Por exemplo, ele não dá suporte a %variableName:str1=str2% ou %variableName:~offset,comprimento%.

[out, optional] lpDst

Um ponteiro para um buffer que recebe o resultado da expansão das cadeias de caracteres de variável de ambiente no buffer lpSrc. Observe que esse buffer não pode ser o mesmo que o buffer de lpSrc.

[in] nSize

O número máximo de caracteres que podem ser armazenados no buffer apontado pelo parâmetro lpDst. Ao usar cadeias de caracteres ANSI, o tamanho do buffer deve ser o comprimento da cadeia de caracteres, além de encerrar o caractere nulo, mais um. Ao usar cadeias de caracteres Unicode, o tamanho do buffer deve ser o comprimento da cadeia de caracteres mais o caractere nulo de terminação.

Valor de retorno

Se a função for bem-sucedida, o valor retornado será o número de TCHARs armazenados no buffer de destino, incluindo o caractere nulo de encerramento. Se o buffer de destino for muito pequeno para manter a cadeia de caracteres expandida, o valor retornado será o tamanho do buffer necessário, em caracteres.

Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.

Observações

Windows Server 2003 e Windows XP: O tamanho dos buffers lpSrc e lpDst é limitado a 32K.

Para substituir nomes de pasta em um caminho totalmente qualificado por suas cadeias de caracteres de variável de ambiente associadas, use a função PathUnExpandEnvStrings.

Para recuperar a lista de variáveis de ambiente para um processo, use a função GetEnvironmentStrings.

Exemplos

Para obter um exemplo, consulte Obtendo informações do sistema.

Nota

O cabeçalho processenv.h define ExpandEnvironmentStrings 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 2000 Professional [aplicativos da área de trabalho | Aplicativos UWP]
servidor com suporte mínimo Windows 2000 Server [aplicativos da área de trabalho | Aplicativos UWP]
da Plataforma de Destino Windows
cabeçalho processenv.h (inclua Windows.h)
biblioteca Kernel32.lib
de DLL Kernel32.dll

Consulte também

variáveis de ambiente

Funções de informações do sistema