Книга: Системное программирование в среде Windows
Настройка состояния службы
Настройка состояния службы
Теперь, когда управляющая программа зарегистрирована, необходимо сразу же перевести службу в состояние SERVICE_START_PENDING, воспользовавшись для этого функцией SetServiceStatus. Функция SetServiceStatus будет применяться еще в других местах для установки различных значений параметра состояния, информируя SCM о текущем состоянии службы. Описания других возможных состояний службы, характеризуемых значениями параметра состояния, отличными от SERVICE_STATUS_PENDING, приведены в табл. 13.3.
Обработчик службы должен устанавливать состояние службы при каждом вызове, даже если ее состояние не менялось.
Далее, любой из потоков службы может в любой момент вызвать функцию SetServiceStatus, чтобы сообщить данные, характеризующие степень выполнения задачи, а также предоставить информацию об ошибках или иную информацию, причем для периодического обновления состояния многие службы часто выделяют отдельный поток. Длительность временного промежутка между вызовами обновления состояния указывается в одном из полей структуры данных, выступающей в качестве параметра. Если в пределах указанного промежутка времени состояние не обновлялось, то SCM может предположить, что произошла ошибка.
BOOL SetServiceStatus(SERVICE_STATUS_HANDLE hServiceStatus, LPSERVICE STATUS lpServiceStatus)
Параметры
hServiceStatus — дескриптор типа SERVICE_STATUS_HANDLE, возвращенный функцией RegisterCtrlHandlerEx. Поэтому вызову функции SetServiceStatus должен предшествовать вызов функции RegisterCtrlHandlerEx.
lpServiceStatus — указатель на структуру SERVICE_STATUS, содержащую описание свойств, состояния и возможностей службы.
- Глава 8 Дополнительные службы
- Настройка оповещений
- Урок 3.4. Электронная почта. Создание и настройка почтовых ящиков
- Практическая работа 21. Настройка учетной записи в почтовой программе
- Специфический для службы код
- Настройка учетных записей пользователей
- Настройка доступа пользователей к рабочей книге
- Службы Windows SharePoint
- Настройка верхней области навигации
- Настройка левой панели навигации
- 13.3. Настройка почтовых клиентов
- Настройка библиотеки