支持的对话框服务超时操作

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 函数。

初始化 Winlogon

Winlogon 状态

向 GINA 发送消息

Winlogon 支持函数