Поделиться через


Поддерживаемые операции времени ожидания службы диалогового окна

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 .

 

Библиотеки DLL GINA также могут получать WLX_WM_SAS сообщения из Winlogon. Эти сообщения отправляются в активные диалоговые окна, если получена последовательность безопасного внимания (SAS). Это полезно, если GINA запрашивает соответствующий ПИН-код для смарт-карта, а карта удаляется из средства чтения смарт-карта. Winlogon использует WLX_DLG_SAS в качестве кода результата EndDialog при возникновении события SAS во время операции диалогового окна.

Таким образом также доставляются тайм-ауты. Сообщение WLX_WM_SAS отправляется с WLX_SAS_TYPE_SCRNSVR_TIMEOUT или WLX_SAS_TYPE_TIMEOUT. Диалоговое окно будет заканчиваться соответствующим кодом выхода, чтобы позволить разработчикам GINA подключить уведомления о времени ожидания.

Диалоговые окна GINA можно завершить с помощью Winlogon с помощью WLX_DLG_USER_LOGOFF кода. Это означает, что пользователь вышел из системы во время запуска диалогового окна (например, путем вызова функции ExitWindowsEx из другого потока).

Инициализация Winlogon

Состояния Winlogon

Отправка сообщений в GINA

Функции поддержки Winlogon