Compartir a través de


Función WlxActivateUserShell (winwlx.h)

[La función WlxActivateUserShell ya no está disponible para su uso a partir de Windows Server 2008 y Windows Vista.]

Activa el programa de shell de usuario.

La función WlxActivateUserShell debe implementarse mediante un archivo DLL de GINA de reemplazo. Winlogon llama a esta función después de un inicio de sesión correcto para solicitar que la GINA active el programa de shell del usuario.

Nota Los archivos DLL de GINA se omiten en Windows Vista.
 

Sintaxis

BOOL WlxActivateUserShell(
  [in] PVOID pWlxContext,
  [in] PWSTR pszDesktopName,
  [in] PWSTR pszMprLogonScript,
  [in] PVOID pEnvironment
);

Parámetros

[in] pWlxContext

Puntero al contexto de GINA asociado a esta estación de ventana. Este es el valor de contexto que devuelve GINA cuando Winlogon llama a WlxInitialize para esta estación.

[in] pszDesktopName

Puntero a una cadena de caracteres anchos terminada en NULL que especifica el nombre del escritorio donde se iniciará el shell. Pase esta cadena a la función CreateProcess o CreateProcessAsUser a través del miembro lpDesktop de la estructura STARTUPINFO.

[in] pszMprLogonScript

Puntero a una cadena de caracteres anchos terminada en NULL que especifica los nombres de script devueltos desde los archivos DLL del proveedor de red. Los archivos DLL del proveedor de red pueden devolver scripts que se ejecutarán durante el inicio de sesión; sin embargo, la GINA puede ignorarlas.

[in] pEnvironment

Especifica las variables de entorno iniciales para el proceso. Winlogon crea una copia del entorno y la entrega a la GINA. GINA puede modificar este entorno antes de usarlo para inicializar el shell del usuario. La GINA debe llamar a la función VirtualFree para liberar la memoria asignada para pEnvironment.

Valor devuelto

Si la función inicia correctamente un proceso de shell, la función devuelve TRUE.

Si se produce un error en la función, devuelve FALSE. Cuando se devuelve FALSE , Winlogon cancela el inicio de sesión en proceso.

Observaciones

Antes de llamar a WlxActivateUserShell, Winlogon establece el estado de escritorio para que el escritorio actual sea el escritorio de Winlogon y establezca el estado de la estación de trabajo para que el escritorio esté bloqueado.

Active siempre el programa de shell de usuario en WlxActivateUserShell en lugar de WlxLoggedOutSAS. Esto ofrece a Winlogon la oportunidad de actualizar su estado, incluida la configuración de la estación de trabajo y las protecciones de escritorio, antes de que los procesos de usuario que haya iniciado sesión puedan ejecutarse.

Requisitos

   
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winwlx.h

Consulte también

WlxInitialize

WlxLoggedOutSAS

WlxLogoff