Сервисы¶
Все сервисы живут в каталоге SERVICES. Там же находится проект BASE_SERVICE (ext DLL) с классами из которых надо выводиться при создании собственного сервиса.
А именно:
* ANIMALAPP - базовый класс приложения и
* ANIMAL_BASE - базовый класс сервиса.
* При старте сервиса вызывается виртуалка DWORD ANIMAL_BASE::!AnimalLoop( ) в которой собственно все и выполняется
* Ключи запуска
* -app- выполнить как приложение
В каталоге SERVICES\EXAMPLE_SERVICE находится проект примера сервиса. Он ничего не делает, просто пишет в лог сообщение о своем старте-завершении и каждые 5 минут сообщение о том, что он работает. В остальных подкаталогах каталога SERVICES находятся проекты сервисов.
Создание нового сервиса¶
При создании нового сервиса XXX нужно:
- Скопировать каталог EXAMPLE_SERVICE в каталог XXX_SERVICE
- в файлах service.cpp, service.h, service.dsp контекстной заменой заменить EXAMPLE на XXX
- В basic.cpp basic.h добавить новы тип приложения APP_XXX_SERVICE
- В bsc_key.cpp bsc_key.h добавить новую лицензию ASPL_SERVICE_XXX
В результате получим новый сервис полностью аналогичный сервису EXAMPLE_SERVICE. Выполняемый файл будет называться XXX_SERVICE.exe (XXX_SERVICEd.exe для отладочной версии)