Opérations de délai d’attente du service de boîte de dialogue prises en charge
Winlogon implémente deux opérations de délai d’attente, l’une pour sécuriser les boîtes de dialogue et l’autre pour l’activation et l’arrêt de l’économiseur d’écran.
Lors de l’affichage d’une boîte de dialogue sécurisée, telle que l’ouverture de session ou le déverrouillage d’une station de travail, Winlogon peut expirer les boîtes de dialogue et retourner un code de résultat approprié à la procédure de boîte de dialogue. Winlogon fournit un ensemble de fonctions de prise en charge de boîte de dialogue pour le GINA. Le GINA doit utiliser ces fonctions à la place de leurs équivalents Windows pour s’assurer que GINA et Winlogon conservent un contrôle approprié sur les boîtes de dialogue. L’échec de l’utilisation des versions Winlogon de ces fonctions peut entraîner l’accès des utilisateurs non autorisés au système.
Les services de boîte de dialogue Winlogon sont fournis par les fonctions de support suivantes.
Fonction de support | Description |
---|---|
WlxMessageBox | Semblable à la fonction Windows MessageBox . |
WlxDialogBox | Semblable à la fonction Windows DialogBox . |
WlxDialogBoxIndirect | Semblable à la fonction Windows DialogBoxIndirect . |
WlxDialogBoxParam | Similaire à la fonction Windows DialogBoxParam . |
WlxDialogBoxIndirectParam | Semblable à la fonction Windows DialogBoxIndirectParam . |
Les DLL GINA peuvent également recevoir des messages WLX_WM_SAS de Winlogon. Ces messages sont envoyés aux boîtes de dialogue actives si une séquence d’attention sécurisée (SAP) est reçue. Cela est utile si le GINA est en train de demander le code confidentiel correspondant pour un carte intelligent, et si le carte est supprimé du lecteur smart carte. Winlogon utilise WLX_DLG_SAS comme code de résultat EndDialog lorsqu’un événement SAS se produit pendant une opération de boîte de dialogue.
Les délais d’expiration sont également fournis de cette manière. Un message WLX_WM_SAS est envoyé avec WLX_SAS_TYPE_SCRNSVR_TIMEOUT ou WLX_SAS_TYPE_TIMEOUT. La boîte de dialogue se termine par un code de sortie approprié pour permettre aux développeurs GINA de raccorder les notifications de délai d’attente.
Les boîtes de dialogue GINA peuvent être arrêtées par Winlogon à l’aide du code WLX_DLG_USER_LOGOFF. Cela indique que l’utilisateur s’est déconnecté pendant l’exécution de la boîte de dialogue (par exemple, en appelant la fonction ExitWindowsEx à partir d’un autre thread).