Реферат: Winlogon notification package. Теория и практика
{
WriteLog(L"Workstation unlocked", pInfo);
}
extern "C" void __stdcall
WLEventStartShell(PWLX_NOTIFICATION_INFO pInfo)
{
WriteLog(L"User already loged on and network"
L" resouces are avaliable", pInfo);
}
Теперь необходимо экспортировать эти функции для других приложений. Для этого создадим файл Notify.def и добавим его в проект. В единственной секции EXPORTS укажем экспортируемые функции
EXPORTS WLEventLogon WLEventLogoff WLEventStartup WLEventShutdown WLEventStartScreenSaver WLEventStopScreenSaver WLEventLock WLEventUnlock WLEventStartShell |
После успешной компиляции необходимо подписаться на события Winlogon.
ПРЕДУПРЕЖДЕНИЕ Необходимо помнить, что dll исполняется в адресном пространстве процесса, который ее вызывает. Если dll спровоцирует исключительную ситуацию, тогда, если не обработать ошибку, работа процесса будет прекращена. Процесс Winlogon.exe очень чувствителен к таким вещам. При возникновении ошибки он покажет синий экран смерти, а в случае наличия соответствующих настроек перегрузит систему. Поэтому настойчиво рекомендуется тестировать программу на виртуальном компьютере. |
Для этого зайдем в реестр и отыщем ключ:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify
Создадим в нем подключ MyNotify и значения, как показано на рисунке ниже.
Рисунок 1.
Для удобства поместим файл Notify.dll по указанному пути. После перезагрузки системы приложение начнет создавать логи.
К-во Просмотров: 210
Бесплатно скачать Реферат: Winlogon notification package. Теория и практика
|