Структура 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; |
Члены структуры
Время, после которого перезагружается сбойная служба, отсчитывается к нулю, если нет больше сбоев, в секундах. Задайте значение INFINITE (БЕСКОНЕЧНО), чтобы указать, что это значение никогда не должно перезагружаться.
Сообщение, которое транслируется пользователям сервера перед перезагрузкой в ответ на действие диспетчера службы SC_ACTION_REBOOT.
Если это значение равно ПУСТО (NULL), сообщение о перезагрузке не изменяется. Если это значение - пустая строка (""), сообщение перезагрузки удаляется и никакое сообщение не транслируется.
Процесс командной строки для функции CreateProcess, чтобы исполнить код в ответ на действие SC_ACTION_RUN_COMMAND диспетчера службы. Этот процесс запускается под той же самой учетной записью, что и служба.
Если это значение равно ПУСТО (NULL), команда не изменяется. Если значение - пустая строка (""), то команда удаляется и никакая программа не запускается, когда служба завершается ошибкой.
Число элементов в массиве lpsaActions.
Если это значение равно 0, а член структуры lpsaActions не равен ПУСТО (NULL), период возврата в исходное положение и массив действий сбоя удаляются.
Указатель на массив структур SC_ACTION.
Если это значение равно ПУСТО (NULL), члены структуры cActions и dwResetPeriod игнорируются.
Замечания
Диспетчер управления службами считает количество раз, которые каждая служба имела сбои, начиная с загрузки системы. Подсчет возвращается в исходное состояние 0, если служба не завершилась ошибкой в течение dwResetPeriod секунд. Когда служба завершается ошибкой в течение N-ого времени, диспетчер службы выполняет действие, заданное в элементе [N -1] массива lpsaActions. Если N больше чем значение cActions, диспетчер службы повторяет последнее действие в массиве.
Смотри также
Обзор Службы, Структуры, используемые службами, ChangeServiceConfig2, CreateProcess, QueryServiceConfig2, SC_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 структуры. | |
Замечания по платформе | Не имеется |