Compartir a través de


Función WlxLoggedOutSAS (winwlx.h)

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

La función WlxLoggedOutSAS debe implementarse mediante un archivo DLL de GINA de reemplazo. Winlogon llama a esta función cuando recibe un evento de secuencia de atención segura (SAS) mientras ningún usuario ha iniciado sesión.

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

Sintaxis

int WlxLoggedOutSAS(
  [in]      PVOID                pWlxContext,
  [in]      DWORD                dwSasType,
  [out]     PLUID                pAuthenticationId,
  [in, out] PSID                 pLogonSid,
  [out]     PDWORD               pdwOptions,
  [out]     PHANDLE              phToken,
  [out]     PWLX_MPR_NOTIFY_INFO pNprNotifyInfo,
  [out]     PVOID                *pProfile
);

Parámetros

[in] pWlxContext

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

[in] dwSasType

Especifica el tipo de SAS que se ha producido. Los valores de cero a WLX_SAS_TYPE_MAX_MSFT_VALUE están reservados para definir tipos estándar de SAS de Microsoft. Los desarrolladores de GINA pueden definir tipos de SAS adicionales mediante valores mayores que WLX_SAS_TYPE_MAX_MSFT_VALUE.

Los siguientes tipos de SAS están predefinidos.

Value Significado
WLX_SAS_TYPE_CTRL_ALT_DEL
Indica que un usuario ha escrito la SAS ESTÁNDAR CTRL+ALT+SUPR.
WLX_SAS_TYPE_SC_INSERT
Indica que se ha insertado una tarjeta inteligente en un dispositivo compatible.
WLX_SAS_TYPE_SC_REMOVE
Indica que se ha quitado una tarjeta inteligente de un dispositivo compatible.
WLX_SAS_TYPE_TIMEOUT
Indica que no se recibió ninguna entrada del usuario dentro del período de tiempo de espera especificado.

[out] pAuthenticationId

Especifica el identificador de autenticación asociado a la sesión de inicio de sesión actual. Para obtener este valor, llame a GetTokenInformation para obtener una estructura de TOKEN_STATISTICS para el token devuelto por la función LogonUser .

[in, out] pLogonSid

En la entrada, este parámetro apunta a un identificador de seguridad (SID) que es único para la sesión de inicio de sesión actual. Winlogon usa este SID para cambiar la protección en la estación de ventana y el escritorio de la aplicación para que el nuevo usuario que haya iniciado sesión pueda acceder a ellos.

En la salida, Winlogon proporciona un SID. También puede obtener el SID mediante la función GetTokenInformation para recuperar una estructura de TOKEN_GROUPS para el token devuelto por la función LogonUser . Para ello, busque la matriz devuelta en la estructura TOKEN_GROUPS del grupo con el atributo SE_GROUP_LOGON_ID.

[out] pdwOptions

Puntero a un DWORD que contiene el conjunto de opciones de inicio de sesión. Se define la siguiente opción.

Value Significado
WLX_LOGON_OPT_NO_PROFILE
Indica que Winlogon no debe cargar un perfil para el usuario que ha iniciado sesión. El archivo DLL de GINA se encargará de esta actividad o el usuario no necesita un perfil.

[out] phToken

Puntero a una variable de identificador. Cuando la operación de inicio de sesión se realice correctamente, establezca este identificador en un token que represente al usuario que ha iniciado sesión. Use la función LogonUser para obtener este token y, después, cuando el usuario cierra la sesión, Winlogon cierra este identificador y llama a la función WlxLogoff .

Si necesita este identificador después de llamar a la función WlxLogoff , realice un duplicado del identificador antes de devolverlo a Winlogon.

[out] pNprNotifyInfo

Puntero a una estructura de WLX_MPR_NOTIFY_INFO que contiene información de dominio, nombre de usuario y contraseña para el usuario. Winlogon usará esta información para proporcionar información de identificación y autenticación a los proveedores de red.

La GINA no es necesaria para devolver información de contraseña. Winlogon omitirá los campos NULL de la estructura. Use LocalAlloc para asignar cada cadena; Winlogon los liberará cuando ya no sean necesarios.

La GINA debe proporcionar valores de dominio, usuario y contraseña para completar la funcionalidad del directorio de sesión. Si no se proporciona la contraseña, el directorio de sesión requerirá que el usuario escriba la contraseña dos veces antes de que el usuario esté conectado al servidor.

Para obtener información sobre la protección de contraseñas, consulte Control de contraseñas.

[out] pProfile

Al devolver una autenticación correcta, el parámetro pProfile apunta a una estructura de WLX_PROFILE_V1_0 o de WLX_PROFILE_V2_0 . La primera DWORD de la estructura indica qué estructura es. Winlogon usa esta estructura para cargar el perfil del usuario que ha iniciado sesión y libera la memoria asociada a la estructura cuando ya no la necesita.

Valor devuelto

Si se produce un error en la función, la función devuelve cero.

Si la función se realiza correctamente, devuelve uno de los valores siguientes.

Código devuelto Descripción
WLX_SAS_ACTION_LOGON
Indica que un usuario ha iniciado sesión.
WLX_SAS_ACTION_NONE
Indica que el intento registrado no se realizó correctamente o se canceló.
WLX_SAS_ACTION_SHUTDOWN
Indica que el usuario solicitó que el sistema se apague.

Observaciones

Antes de llamar a WlxLoggedOutSAS, 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.

No active el programa de shell de usuario en WlxLoggedOutSAS. El programa de shell de usuario siempre debe activarse en WlxActivateUserShell.

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

WlxActivateUserShell

WlxInitialize