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é.
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 |
---|---|
|
Indique qu’un utilisateur a tapé la sape STANDARD CTRL+ALT+SUPPR. |
|
Indique qu’un carte intelligent a été inséré dans un appareil compatible. |
|
Indique qu’un carte intelligent a été supprimé d’un appareil compatible. |
|
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.
[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 |
---|---|
|
Indique qu’un utilisateur s’est connecté. |
|
Indique que la tentative journalisée a échoué ou a été annulée. |
|
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 |