Книга: Системное программирование в среде Windows
Обработчик управляющих команд службы
Обработчик управляющих команд службы
Обработчик управляющих команд службы, то есть функция косвенного вызова, определяемая с помощью функции RegisterServiceCtrlHandlerEx, имеет следующий прототип:
DWORD WINAPI HandlerEx(DWORD dwControl, DWORD dwEventType, LPVOID lpEventData, LPVOID lpContext)
dwControl — обозначает фактическую управляющую команду, поступившую в обработчик от SCM. До появления NT5 и введения функции RegisterServiceCtrlHandlerEx этот параметр был единственным параметром обработчика.
Всего существует 14 возможных значений параметра dwControl, включая те, которые перечислены в табл. 13.3, хотя некоторые команды поддерживаются только в NT5 или XP. Нас будут интересовать следующие значения, которые используются в примере:
SERVICE_CONTROL_STOP
SERVICE_CONTROL_PAUSE
SERVICE_CONTROL_CONTINUE
SERVICE_CONTROL_INTERROGATE
SERVICE_CONTROL_SHUTDOWN
Разрешены также пользовательские значения, определяемые в интервале 128-255, однако нам они не понадобятся.
dwEventType — обычно принимает значение 0, в то время как ненулевые значения используются для управления устройствами, но рассмотрение этого вопроса выходит за рамки данной книги. Параметр dwEventType определяет дополнительную информацию, которая требуется соответствующим событиям.
Наконец, lpContext — пользовательские данные, передаваемые в функцию RegisterServiceCtrlHandlerEx во время регистрации обработчика.
Обработчик активизируется SCM в том же потоке, что и основная программа, и обычно содержит ряд операторов switch, как будет показано в приведенных ниже примерах.
- Написание программ, реализующихслужбы Windows Services: обзор
- Функция main()
- Функции ServiceMain()
- Обработчик управляющих команд службы
- Пример: "интерфейсная оболочка" службы
- Управление службами Windows
- Резюме: функционирование и управление службой
- Пример:команднаяоболочкауправленияслужбами
- Совместное использование объектов ядра приложениями и службами
- Регистрация событий
- Замечания по отладке службы
- Резюме
- Упражнения
- Написание программ, реализующихслужбы Windows Services: обзор
- Инструмент командной строки gbak
- Инструмент командной строки gfix
- 5.4 Команда trap: обработка прерываний
- Глава 8 Дополнительные службы
- Команды и формирование культуры по инициативе сверху
- Службы Windows SharePoint
- Scrum-команда: состав
- Как удалить ненужные команды из контекстного меню?
- Исключения и обработчики исключений
- Можно ли сделать командную строку цветной (как в фильме «Матрица»)?
- Как открыть каталог с помощью командной строки?