Función CreateEnvironmentBlock (userenv.h)
Recupera las variables de entorno para el usuario especificado. A continuación, este bloque se puede pasar a la función CreateProcessAsUser .
Sintaxis
BOOL CreateEnvironmentBlock(
[out] LPVOID *lpEnvironment,
[in, optional] HANDLE hToken,
[in] BOOL bInherit
);
Parámetros
[out] lpEnvironment
Tipo: LPVOID*
Cuando se devuelve esta función, recibe un puntero al nuevo bloque de entorno. El bloque de entorno es una matriz de cadenas Unicode terminadas en NULL. La lista termina con dos valores NULL (\0\0).
[in, optional] hToken
Tipo: HANDLE
Token para el usuario, devuelto por la función LogonUser . Si se trata de un token principal, el token debe tener TOKEN_QUERY y TOKEN_DUPLICATE acceso. Si el token es un token de suplantación, debe tener TOKEN_QUERY acceso. Para obtener más información, vea Derechos de acceso para objetos Access-Token.
Si este parámetro es NULL, el bloque de entorno devuelto contiene solo variables del sistema.
[in] bInherit
Tipo: BOOL
Especifica si se hereda del entorno del proceso actual. Si este valor es TRUE, el proceso hereda el entorno del proceso actual. Si este valor es FALSE, el proceso no hereda el entorno del proceso actual.
Valor devuelto
Tipo: BOOL
TRUE si se ejecuta correctamente; de lo contrario, FALSE. Para obtener información de error extendida, llame a GetLastError.
Comentarios
Para liberar el búfer cuando haya terminado con el bloque de entorno, llame a la función DestroyEnvironmentBlock .
Si el bloque de entorno se pasa a CreateProcessAsUser, también debe especificar la marca CREATE_UNICODE_ENVIRONMENT . Una vez devuelto CreateProcessAsUser , el nuevo proceso tiene una copia del bloque de entorno y se puede llamar a DestroyEnvironmentBlock de forma segura.
Las variables de entorno específicas del usuario como %USERPROFILE% solo se establecen cuando se carga el perfil del usuario. Para cargar el perfil de un usuario, llame a la función LoadUserProfile .
Requisitos
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | userenv.h |
Library | Userenv.lib |
Archivo DLL | Userenv.dll |