Compartilhar via


Função CreateEnvironmentBlock (userenv.h)

Recupera as variáveis de ambiente para o usuário especificado. Esse bloco pode ser passado para a função CreateProcessAsUser .

Sintaxe

BOOL CreateEnvironmentBlock(
  [out]          LPVOID *lpEnvironment,
  [in, optional] HANDLE hToken,
  [in]           BOOL   bInherit
);

Parâmetros

[out] lpEnvironment

Tipo: LPVOID*

Quando essa função retorna, recebe um ponteiro para o novo bloco de ambiente. O bloco de ambiente é uma matriz de cadeias de caracteres Unicode terminadas em nulo. A lista termina com dois nulos (\0\0).

[in, optional] hToken

Tipo: HANDLE

Token para o usuário, retornado da função LogonUser . Se esse for um token primário, o token deverá ter acesso TOKEN_QUERY e TOKEN_DUPLICATE . Se o token for um token de representação, ele deverá ter TOKEN_QUERY acesso. Para obter mais informações, consulte Direitos de Acesso para objetos Access-Token.

Se esse parâmetro for NULL, o bloco de ambiente retornado conterá somente variáveis do sistema.

[in] bInherit

Tipo: BOOL

Especifica se o ambiente do processo atual deve ser herdado. Se esse valor for TRUE, o processo herdará o ambiente do processo atual. Se esse valor for FALSE, o processo não herdará o ambiente do processo atual.

Valor retornado

Tipo: BOOL

TRUE se tiver êxito; caso contrário, FALSE. Para obter informações de erro estendidas, chame GetLastError.

Comentários

Para liberar o buffer quando terminar o bloco de ambiente, chame a função DestroyEnvironmentBlock .

Se o bloco de ambiente for passado para CreateProcessAsUser, você também deverá especificar o sinalizador CREATE_UNICODE_ENVIRONMENT . Após o retorno de CreateProcessAsUser , o novo processo tem uma cópia do bloco de ambiente e DestroyEnvironmentBlock pode ser chamado com segurança.

Variáveis de ambiente específicas do usuário, como %USERPROFILE% são definidas somente quando o perfil do usuário é carregado. Para carregar o perfil de um usuário, chame a função LoadUserProfile .

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho userenv.h
Biblioteca Userenv.lib
DLL Userenv.dll

Confira também

Createprocessasuser

DestroyEnvironmentBlock

LogonUser

Visão geral de perfis de usuário

Referência de perfis de usuário