Запуск сервиса
Для запуска сервиса вы должны использовать функцию StartService:
BOOL StartService(
SC_HANDLE schService, // идентификатор сервиса
DWORD dwNumServiceArgs, // количество аргументов
LPCTSTR *lpszServiceArgs); // адрес массива аргументов
Через параметр schService вы должны передать функции StartService идентификатор сервиса, полученный от функции OpenService.
Параметры dwNumServiceArgs и lpszServiceArgs определяют, соответственно, количество аргументов и адрес массива аргументов, которые получит функция точки входа сервиса. Эти параметры могут использоваться в процессе инициализации.
Ниже мы привели фрагмент исходного текста приложения, выполняющий запуск сервиса:
schSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);
schService = OpenService(
schSCManager, MYServiceName, SERVICE_ALL_ACCESS);
StartService(schService, 0, NULL);
CloseServiceHandle(schSCManager);