Partager via


WlxLoggedOutSAS, fonction (winwlx.h)

[La fonction WlxLoggedOutSAS n’est plus disponible à partir de Windows Server 2008 et Windows Vista.]

La fonction WlxLoggedOutSAS doit être implémentée par une DLL GINA de remplacement. Winlogon appelle cette fonction lorsqu’elle reçoit un événement de séquence d’attention sécurisée (SAS) alors qu’aucun utilisateur n’est connecté.

Note Les DLL GINA sont ignorées dans Windows Vista.
 

Syntaxe

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
);

Paramètres

[in] pWlxContext

Pointeur vers le contexte GINA associé à cette station de fenêtre. Le GINA retourne cette valeur de contexte lorsque Winlogon appelle WlxInitialize pour cette station.

[in] dwSasType

Spécifie le type de sap qui s’est produit. Les valeurs comprises entre zéro et WLX_SAS_TYPE_MAX_MSFT_VALUE sont réservées pour définir les types SAS Microsoft standard. Les développeurs GINA peuvent définir des types SAS supplémentaires en utilisant des valeurs supérieures à WLX_SAS_TYPE_MAX_MSFT_VALUE.

Les types SAS suivants sont prédéfinis.

Valeur Signification
WLX_SAS_TYPE_CTRL_ALT_DEL
Indique qu’un utilisateur a tapé la sape STANDARD CTRL+ALT+SUPPR.
WLX_SAS_TYPE_SC_INSERT
Indique qu’un carte intelligent a été inséré dans un appareil compatible.
WLX_SAS_TYPE_SC_REMOVE
Indique qu’un carte intelligent a été supprimé d’un appareil compatible.
WLX_SAS_TYPE_TIMEOUT
Indique qu’aucune entrée utilisateur n’a été reçue dans le délai d’attente spécifié.

[out] pAuthenticationId

Spécifie l’identificateur d’authentification associé à la session d’ouverture de session active. Vous pouvez obtenir cette valeur en appelant GetTokenInformation pour obtenir une structure TOKEN_STATISTICS pour le jeton retourné par la fonction LogonUser .

[in, out] pLogonSid

Lors de l’entrée, ce paramètre pointe vers un identificateur de sécurité (SID) unique à la session d’ouverture de session active. Winlogon utilise ce SID pour modifier la protection sur la station de fenêtre et le bureau de l’application afin que le nouvel utilisateur connecté puisse y accéder.

Lors de la sortie, Winlogon fournit un SID. Vous pouvez également obtenir le SID à l’aide de la fonction GetTokenInformation pour récupérer une structure TOKEN_GROUPS pour le jeton retourné par la fonction LogonUser . Pour ce faire, recherchez le groupe avec l’attribut SE_GROUP_LOGON_ID dans le tableau retourné dans la structure TOKEN_GROUPS .

[out] pdwOptions

Pointeur vers un DWORD qui contient l’ensemble des options d’ouverture de session. L’option suivante est définie.

Valeur Signification
WLX_LOGON_OPT_NO_PROFILE
Indique que Winlogon ne doit pas charger un profil pour l’utilisateur connecté. Soit la DLL GINA s’occupe de cette activité, soit l’utilisateur n’a pas besoin d’un profil.

[out] phToken

Pointeur vers une variable de handle. Lorsque l’opération d’ouverture de session réussit, définissez ce handle sur un jeton qui représente l’utilisateur connecté. Utilisez la fonction LogonUser pour obtenir ce jeton, puis, lorsque l’utilisateur se déconnecte, Winlogon ferme ce handle et appelle la fonction WlxLogoff .

Si vous avez besoin de ce handle après avoir appelé la fonction WlxLogoff, créez un doublon du handle avant de le renvoyer à Winlogon.

[out] pNprNotifyInfo

Pointeur vers une structure de WLX_MPR_NOTIFY_INFO qui contient des informations sur le domaine, le nom d’utilisateur et le mot de passe de l’utilisateur. Winlogon utilise ces informations pour fournir des informations d’identification et d’authentification aux fournisseurs de réseau.

Le GINA n’est pas nécessaire pour retourner des informations de mot de passe. Tous les champs NULL de la structure sont ignorés par Winlogon. Utilisez LocalAlloc pour allouer chaque chaîne ; Winlogon les libérera quand ils ne seront plus nécessaires.

Le GINA doit fournir des valeurs de domaine, d’utilisateur et de mot de passe pour l’ensemble des fonctionnalités d’annuaire de session. Si le mot de passe n’est pas fourni, l’annuaire de session demande à l’utilisateur d’entrer le mot de passe deux fois avant que l’utilisateur soit connecté au serveur.

Pour plus d’informations sur la protection des mots de passe, consultez Gestion des mots de passe.

[out] pProfile

Au retour d’une authentification réussie, le paramètre pProfile pointe vers une structure WLX_PROFILE_V1_0 ou WLX_PROFILE_V2_0 . Le premier DWORD de la structure indique de quelle structure il s’agit. Winlogon utilise cette structure pour charger le profil de l’utilisateur connecté et libère la mémoire associée à la structure lorsqu’il n’en a plus besoin.

Valeur retournée

Si la fonction échoue, la fonction retourne zéro.

Si la fonction réussit, elle retourne l’une des valeurs suivantes.

Code de retour Description
WLX_SAS_ACTION_LOGON
Indique qu’un utilisateur s’est connecté.
WLX_SAS_ACTION_NONE
Indique que la tentative journalisée a échoué ou a été annulée.
WLX_SAS_ACTION_SHUTDOWN
Indique que l’utilisateur a demandé que le système soit arrêté.

Remarques

Avant d’appeler WlxLoggedOutSAS, Winlogon définit l’état du bureau afin que le bureau actuel soit le bureau Winlogon et définit l’état de la station de travail afin que le bureau soit verrouillé.

N’activez pas le programme d’interpréteur de commandes utilisateur dans WlxLoggedOutSAS. Le programme de l’interpréteur de commandes utilisateur doit toujours être activé dans WlxActivateUserShell.

Spécifications

   
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête winwlx.h

Voir aussi

WlxActivateUserShell

WlxInitialize