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.
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 |
---|---|
|
Indica que un usuario ha escrito la SAS ESTÁNDAR CTRL+ALT+SUPR. |
|
Indica que se ha insertado una tarjeta inteligente en un dispositivo compatible. |
|
Indica que se ha quitado una tarjeta inteligente de un dispositivo compatible. |
|
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.
[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 |
---|---|
|
Indica que un usuario ha iniciado sesión. |
|
Indica que el intento registrado no se realizó correctamente o se canceló. |
|
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 |