Функция SERVICE_FAILURE_ACTIONS


Структура SERVICE_FAILURE_ACTIONS представляет действие, которое диспетчер службы должен получать при каждом сбое службы. Служба считается отказавшей в работе тогда, когда она завершается, не сообщая о состоянии SERVICE_STOPPED диспетчеру службы. 

Синтаксис

typedef struct _SERVICE_FAILURE_ACTIONS {
  DWORD dwResetPeriod;
  LPTSTR lpRebootMsg;
  LPTSTR lpCommand;
  DWORD cActions;
  SC_ACTION* lpsaActions;
} SERVICE_FAILURE_ACTIONS, 
*LPSERVICE_FAILURE_ACTIONS;

Члены структуры

dwResetPeriod

Время, после которого перезагружается сбойная служба, отсчитывается к нулю, если нет больше сбоев, в секундах. Задайте значение INFINITE (БЕСКОНЕЧНО), чтобы указать, что это значение никогда не должно перезагружаться.

lpRebootMsg

Сообщение, которое транслируется пользователям сервера перед перезагрузкой в ответ на действие диспетчера службы SC_ACTION_REBOOT.

Если это значение равно ПУСТО (NULL), сообщение о перезагрузке не изменяется. Если это значение - пустая строка (""), сообщение перезагрузки удаляется и никакое сообщение не транслируется.

lpCommand

Процесс командной строки для функции CreateProcess, чтобы исполнить код в ответ на действие SC_ACTION_RUN_COMMAND диспетчера службы. Этот процесс запускается под той же самой учетной записью, что и служба.

Если это значение равно ПУСТО (NULL), команда не изменяется. Если значение - пустая строка (""), то команда удаляется и никакая программа не запускается, когда служба завершается ошибкой.

cActions

Число элементов в массиве lpsaActions.

Если это значение равно 0, а член структуры lpsaActions не равен ПУСТО (NULL), период возврата в исходное положение и массив действий сбоя удаляются.

lpsaActions

Указатель на массив структур SC_ACTION.

Если это значение равно ПУСТО (NULL), члены структуры cActions и dwResetPeriod игнорируются.

Замечания

Диспетчер управления службами считает количество раз, которые каждая служба имела сбои, начиная с загрузки системы. Подсчет возвращается в исходное состояние 0, если служба не завершилась ошибкой в течение dwResetPeriod секунд. Когда служба завершается ошибкой в течение N-ого времени, диспетчер службы выполняет действие, заданное в элементе [N -1] массива lpsaActions. Если N больше чем значение cActions, диспетчер службы повторяет последнее действие в массиве.

Смотри также

Обзор Службы, Структуры, используемые службами, ChangeServiceConfig2, CreateProcess, QueryServiceConfig2SC_ACTION

Размещение и совместимость SERVICE_FAILURE_ACTIONS

К Windows XP Да 
л Windows 2000 Professional Да
и Windows NT Нет
е Windows Me Нет
н Windows 98 Нет
т Windows 95 Нет
 
С Windows Server 2003 Да
е Windows 2000 Server Да
р Windows NT Server Нет
в    
е    
р    
Используемая библиотека -
Используемая DLL -
 Заголовочный файл  
- объявлено в Winsvc.h
 - включено в Windows.h
 Unicode Объявляется как Unicode и ANSI структуры.
 Замечания по платформе Не имеется

 

Назад в оглавление
На главную страницу
В оглавление справки

Hosted by uCoz