Запросы службы на управление
Чтобы отправлять запросы на управление запущенной службе, программа управления службой использует функцию ControlService. Эта функция определяет значение управления, которое передается функции HandlerEx указанной службы. Это значение управления может быть определенным пользователем кодом, или оно может быть одним из стандартных кодов, которые дают возможность вызывающей программе выполнить следующие действия:
Дополнительную информацию смотри в статье Передача запросов на управление службе.
Каждая служба определяет значения управления, которые она принимает и обрабатывает. Чтобы определить, какие из стандартных значений управления принимаются службой, используйте функцию QueryServiceStatusEx или задайте значение управления SERVICE_CONTROL_INTERROGATE при вызове функции ControlService. Член dwControlsAccepted структуры SERVICE_STATUS, возвращенный этими функциями указывает, может ли служба быть остановлена, приостановлена или возобновлена ее работа. Значение управления SERVICE_CONTROL_INTERROGATE принимают все службы.
Обратите внимание! на то, что функция QueryServiceStatusEx сообщает о новом состоянии для указанной службы, но не получает обновленное состояние от службы непосредственно. Использование значения управления SERVICE_CONTROL_INTERROGATE при вызове функции ControlService гарантирует, что возвращенная информация о статусе службы - является текущей. |