- •Введение
- •1. Службы Windows.
- •1.1. Программа – служба
- •1.2. Три компонента сервиса
- •1.3. Диспетчер управления сервисами (scm)
- •1.4. Программы управления сервисами
- •1.5. Учетные зависи сервиса
- •1.6. Начало работы сервиса
- •1.7. Выполнение сервиса
- •2. Разработка сервиса Win32.
- •2.1. Структура программы сервиса
- •2.2. Протокол взаимодействия scm и сервиса
- •2.3. Пример функций сервиса.
- •Программа, осуществляющая установку сервиса.
- •Отладка сервиса.
- •Литература
- •Оглавление
Литература
MSDN Library, Microsoft.
http://msdn.microsoft.com/ru-ru/library/d56de412.aspx
Jeffrey Richter. Design a Windows NT Service to Exploit Special Operating System Facilities. 19 стр., Microsoft System Journal, 1997. 19 стр. October 1997— Vol 12 No 10. http://www.microsoft.com/msj/1097/WINNT.aspx
Русинович М., Соломон Д. Внутреннее устройство Microsoft. Windows Sever 2003, Windows XP и Windows 2000. Мастер класс.\Пер. с англ. – 4-е изд.- М.: Издательство «Русская редакция»; СПб.: Питер, 2006. – 992 стр.
Оглавление
Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1. Службы Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
1.1 Программа – служба . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
1.2 Три компонента сервиса . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
1.3 Диспетчер управления сервисами (SCM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4 Программы управления сервисами . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.5 Учетные записи сервиса . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10
Учетная запись локальной системы (Local System) . . . . . . . . . . . . . . . . . . . . . . . . .10
Учетная запись сетевого сервиса (Network Service) . . . . . . . . . . . . . . . . . . . . . . . . 11
Учетная запись локальной службы (Local Service) . . . . . . . . . . . . . . . . . . . . . . . 11
Выполнение сервисов под другими учетными записями. . . . . . . . . . . . . . . . . . . . 11
1.6. Начало работы сервиса. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
1.7. Выполнение сервиса. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2..Разработка сервиса Win32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
2.1. Структура программы сервиса. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
Точка входа main. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . 17
Точка входа в сервис (ServiceMain) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
Точка входа по обработке команд (Handler) . . . . . . . . . . . . . . . . . . . . . . . . . .22
2.2. Протокол взаимодействия SCM и сервиса. . . . . . . . . . . . . . . . . . . . . . . .. . . .26
2.3. Примеры функций сервиса. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Программа, осуществляющая установку сервиса. . . . . . . . . . . . . . . . . . . . . .30
2.4. Отладка сервиса. . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . .. . . . . . . . . . . . . . . . . . . . .. 31
Список используемых источников. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Приложение. Справочник. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Рис.1. Архитектура Windows
Рис.2. Редактор реестра. Просмотр ключа
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
В специальной литературе часто испльзуется название – служба.
Часто используется название – Диспетчер управления службами. В частности в русском переводе MSDN и книги М. Руссиновича и Д. Соломона использутся именно такой перевод - Service Control Manager.
RPC – Remote Procedure Call – Вызов удаленной процедуры.
Апплет - англ. applet ( от application ) ~здесь [ прикладная ] мини-программа, утилита.
Точка входа – это место с которого начинается выполнение процесса или потока.
