Записи реестра (проверка подлинности)
Чтобы пакет получал уведомления о событиях от Winlogon, необходимо указать имя пакета, имена функций обработчика событий в пакете, библиотеку DLL, ответственную за реализацию пакета, а также сведения о том, поддерживает ли библиотека DLL асинхронные события и олицетворение.
Раздел реестра пакета уведомлений следует создать как подраздел
HKEY_LOCAL_MACHINE\Программного обеспечения\Microsoft\\ Windows NT CurrentVersion\Winlogon\Notify
Имя ключа обычно совпадает с именем библиотеки DLL; однако это не является обязательным. Имя, выбранное для пакета, не должно конфликтовать с именами других установленных пакетов уведомлений.
Если в пакете есть соответствующая функция обработчика событий, создайте следующие значения реестра в разделе Уведомлять реестр.
Имя значения [тип данных] | Описание |
---|---|
Асинхронный[REG_DWORD] |
Указывает, может ли пакет обрабатывать события асинхронно. Если это значение равно 1, Winlogon вызывает функции пакета в отдельном потоке. В противном случае это условие не выполняется. |
DllName[REG_EXPAND_SZ] |
Имя библиотеки DLL, реализующей пакет уведомлений, например "Notify.dll". |
Impersonate[REG_DWORD] |
Указывает, следует ли Winlogon олицетворять контекст безопасности пользователя, вошедшего в систему, при вызове функций пакета уведомлений. Если это значение равно 1, Winlogon использует олицетворение. В противном случае это условие не выполняется. |
Lock[REG_SZ] |
Имя функции, которая обрабатывает события блокировки рабочего стола, например WLEventLock. |
Выход из системы[REG_SZ] |
Имя функции, которая обрабатывает события выхода, например WLEventLogoff. |
Вход[REG_SZ] |
Имя функции, которая обрабатывает события входа, например WLEventLogon. |
Завершение работы[REG_SZ] |
Имя функции, которая обрабатывает события завершения работы, например WLEventShutdown. |
SmartCardLogonNotify[DWORD] |
Указывает, должен ли Winlogon создавать уведомление о событиях входа со смарт-карт. Если для этого параметра задано значение 1, Winlogon разрешает смарт-карта уведомления. В противном случае это условие не выполняется. |
StartScreenSaver[REG_SZ] |
Имя функции, обрабатывающей события запуска заставки экрана, например WLEventStartScreenSaver. |
StartShell[REG_SZ] |
Имя функции, которая обрабатывает события запуска оболочки, например WLEventStartShell. Событие запуска оболочки происходит после входа пользователя в систему, но до появления рабочего стола. Оно отличается от события входа в систему тем, что был установлен контекст безопасности пользователя и доступны такие ресурсы, как сетевые подключения. |
Startup[REG_SZ] |
Имя функции, которая обрабатывает события запуска системы, например WLEventStartup. |
StopScreenSaver[REG_SZ] |
Имя функции, обрабатывающей события остановки заставки экрана, например WLEventStopScreenSaver. |
Unlock[REG_SZ] |
Имя функции, которая обрабатывает события разблокировки рабочего стола, например WLEventUnlock. |