Программирование для Windows NT (том 2)

Запуск сервиса


Для запуска сервиса вы должны использовать функцию 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);



Содержание раздела