支持的对话框服务超时操作
Winlogon 实现两个超时操作,一个用于安全对话框,另一个用于屏幕保护程序激活和终止。
在显示安全对话框(例如登录或解锁工作站)时,Winlogon 可以超时对话框,并将相应的结果代码返回给对话框过程。 Winlogon 为 GINA 提供了一组对话框支持函数。 GINA 必须使用这些函数而不是其 Windows 对应函数,以确保 GINA 和 Winlogon 保持对对话框的适当控制。 无法使用这些函数的 Winlogon 版本可能会导致未经授权的用户获得对系统的访问权限。
Winlogon 对话框服务由以下支持函数提供。
支持函数 | 说明 |
---|---|
WlxMessageBox | 类似于 Windows MessageBox 函数。 |
WlxDialogBox | 类似于 Windows DialogBox 函数。 |
WlxDialogBoxIndirect | 类似于 Windows DialogBoxIndirect 函数。 |
WlxDialogBoxParam | 类似于 Windows DialogBoxParam 函数。 |
WlxDialogBoxIndirectParam | 类似于 Windows DialogBoxIndirectParam 函数。 |
GINA DLL 还可以从 Winlogon 接收WLX_WM_SAS消息。 如果收到 安全关注序列 (SAS) ,这些消息将发送到活动对话框。 如果 GINA 正在提示智能卡的匹配 PIN,并且从智能卡读取器中删除卡,则这非常有用。 当在对话框操作期间发生 SAS 事件时,Winlogon 使用 WLX_DLG_SAS 作为 EndDialog 结果代码。
超时也以这种方式提供。 使用WLX_SAS_TYPE_SCRNSVR_TIMEOUT或WLX_SAS_TYPE_TIMEOUT发送WLX_WM_SAS消息。 对话框将以相应的退出代码结尾,以允许 GINA 开发人员挂钩超时通知。
Winlogon 可以使用代码WLX_DLG_USER_LOGOFF终止 GINA 对话框。 这表示用户已在运行对话框期间注销,例如, (从另一个线程) 调用 ExitWindowsEx 函数。
相关主题