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 |