Приложение или сервис может выдать команду сервису, вызвав функцию ControlService:
BOOL ControlService(
SC_HANDLE hService, // идентификатор сервиса
DWORD dwControl, // код команды
LPSERVICE_STATUS lpServiceStatus); // адрес структуры состояния
// сервиса SERVICE_STATUS
В качестве кода команды вы можете указать один из следующих стандартных кодов:
Код |
Команда |
SERVICE_CONTROL_STOP |
Остановка сервиса |
SERVICE_CONTROL_PAUSE |
Временная остановка сервиса |
SERVICE_CONTROL_CONTINUE |
Продолжение работы сервиса после временной установки |
SERVICE_CONTROL_INTERROGATE |
Запрос текущего состояния сервиса |
Дополнительно вы можете указывать коды команд, определенные вами. Они должны находиться в интервале значений от 128 до 255.