Настройка Winlogon
Настройте поведение Winlogon , реализовав поставщик учетных данных. Сведения о поставщиках учетных данных см. в разделе Интерфейс ICredentialProvider.
Windows Server 2003 и Windows XP: Поставщики учетных данных не поддерживаются.
В следующих разделах описаны способы настройки Winlogon в версиях Windows до Windows Vista.
Примечание
Библиотеки DLL GINA и пакеты уведомлений Winlogon игнорируются в Windows Vista.
Пакеты уведомлений Winlogon
Пакет уведомлений Winlogon — это библиотека DLL, которая экспортирует функции, обрабатывающие события Winlogon. Например, когда пользователь входит в систему, Winlogon вызывает каждый пакет уведомлений, чтобы предоставить сведения о событии. Дополнительные сведения см. в разделе Пакеты уведомлений Winlogon.
GINA Заглушки
Заглушка GINA — это настраиваемая библиотека DLL GINA, использующая реализации функций экспорта ранее установленной библиотеки DLL GINA (обычно MsGina.dll). Заглушка GINA получает указатели на каждую функцию, экспортированную ранее установленной библиотекой DLL GINA. Затем каждая функция-заглушка GINA использует соответствующий указатель функции для вызова соответствующей функции в ранее установленной библиотеке DLL GINA.
Важно!
Каждая функция-заглушка GINA должна вызывать соответствующую функцию в ранее установленном GINA.
Функция-заглушка GINA может реализовать дополнительные функции в одной или нескольких функциях экспорта. Например, функция WlxLoggedOutSAS заглушки GINA может проверка текущее время перед вызовом функции WlxLoggedOutSAS MsGina.dll. Если текущее время находилось в определенном диапазоне, функция-заглушка может отобразить сообщение о том, что вход запрещен в течение этого периода времени, и вернуть WLX_SAS_ACTION_NONE в Winlogon. Функция WlxLoggedOutSAS MsGina.dll будет вызываться только в течение допустимого периода времени.
Приложение-заглушка GINA получает таблицу диспетчеризации для функций поддержки Winlogon с помощью параметра pWinlogonFunctions функции WlxInitialize . Приложение-заглушка GINA может использовать эту таблицу диспетчеризации для вызова функций поддержки Winlogon. Например, приложение-заглушка GINA может вызывать функцию WlxSasNotify, чтобы вызвать событие последовательности безопасного внимания (SAS) при вставке смарт-карта в средство чтения.
Дополнительные сведения о создании заглушки GINA см. в примере Gina Stubs в каталоге \Samples\Security\Gina\GinaStub установки пакета SDK.
Примечание
Все вызовы между GINA и Winlogon должны находиться в одном потоке.
GINA Hooks
Обработчик GINA — это заглушка GINA, которая в реализации функции WlxInitialize заменяет указатель на функцию поддержки WlxDialogBoxParam в таблице диспетчеризации указателем на собственную реализацию функции WlxDialogBoxParam . В результате каждый раз, когда ранее установленный GINA (обычно MsGina.dll) вызывает функцию WlxDialogBoxParam , вызывается функция, реализованная обработчиком GINA.
Функция WlxDialogBoxParam , реализованная обработчиком GINA, может заменить процедуру обратного вызова DialogProc , которая отвечает на определенное событие диалогового окна.
Это дает обработчику GINA полный контроль над внешним видом и поведением всех диалоговых окон, создаваемых MsGina.dll.
Дополнительные сведения о создании перехватчика GINA см. в примере Gina Hooks в каталоге \Samples\Security\Gina\GinaHook установки пакета SDK для платформы.
Примечание
Все вызовы между GINA и Winlogon должны находиться в одном потоке.