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


Взаимодействие между Winlogon и GINA

Winlogon и GINA должны передавать сведения об инициализации, обрабатывать мониторинг и уведомление последовательности безопасного внимания (SAS), а также разрешать действия по выходу и завершению работы. Состояние Winlogon определяет, какая функция GINA вызывается для обработки любого события SAS. Обмен данными происходит в порядке, показанном здесь.

Примечание

Библиотеки DLL GINA игнорируются в Windows Vista.

 

Событие Описание
Загрузка рабочей станции
  1. Winlogon вызывает функцию GINA WlxNegotiate , чтобы уведомить GINA об используемой версии Winlogon.
  2. Winlogon вызывает функцию GINA WlxInitialize , чтобы предоставить GINA адреса вспомогательных функций, дескриптор Winlogon и получить сведения о контексте для GINA (которые будут использоваться во всех будущих вызовах GINA).
    Winlogon находится в состоянии выхода из системы.
Никто не вошел в систему (GINA отслеживает события SAS на устройствах.
  1. GINA вызывает функцию WlxSasNotify Winlogon при получении события SAS.
  2. Winlogon вызывает функцию GINA WlxLoggedOutSAS , что позволяет GINA обрабатывать сведения об идентификации и проверке подлинности пользователя.
    После успешного входа Winlogon находится в состоянии входа.
Пользователь вошел в систему (GINA отслеживает события SAS на устройствах.
  1. GINA вызывает функцию WlxSasNotify Winlogon при получении события SAS.
  2. Winlogon вызывает функцию GINA WlxLoggedOnSAS , позволяя GINA предоставлять параметры пользователю, который вошел в систему.
Пользователь вошел в систему и хочет заблокировать компьютер (GINA отслеживает события SAS на устройствах.
  1. GINA вызывает функцию WlxSasNotify .
  2. Winlogon вызывает функцию GINA WlxLoggedOnSAS .
  3. GINA возвращает WLX_SAS_ACTION_LOCK_WKSTA.
    Winlogon находится в состоянии блокировки рабочей станции.
Пользователь вошел в систему, рабочая станция заблокирована, и пользователь хочет разблокировать компьютер (GINA отслеживает события SAS на устройствах.
  1. GINA вызывает функцию WlxSasNotify .
  2. Winlogon вызывает функцию GINA WlxWkstaLockedSAS .
  3. GINA возвращает WLX_SAS_ACTION_UNLOCK_WKSTA.
Пользователь вошел в систему, и программа вызывает функцию ExitWindowsEx . Winlogon вызывает функцию GINA WlxLogoff .
Пользователь вошел в систему и хочет выйти из системы с помощью SAS. (GINA отслеживает события SAS на устройствах.
  1. GINA вызывает функцию WlxSasNotify .
  2. Winlogon вызывает функцию GINA WlxLoggedOnSAS .
  3. GINA возвращает WLX_SAS_ACTION_LOGOFF.
  4. Winlogon вызывает функцию GINA WlxLogoff .
Пользователь вошел в систему и хочет выйти из системы и завершить работу с помощью ExitWindowsEx
  1. Winlogon вызывает функцию GINA WlxLogoff .
  2. Winlogon вызывает функцию GINA WlxShutdown .
Пользователь вошел в систему и хочет выйти из системы и завершить работу с помощью SAS. (GINA отслеживает события SAS на устройствах.
  1. GINA вызывает функцию WlxSasNotify .
  2. Winlogon вызывает функцию GINA WlxLoggedOnSAS .
  3. GINA возвращает WLX_SAS_ACTION_SHUTDOWN.
  4. Winlogon вызывает функцию GINA WlxLogoff .
  5. Winlogon вызывает функцию GINA WlxShutdown .