структура SERVICE_FAILURE_ACTIONSA (winsvc.h)
Представляет действие, которое контроллер службы должен предпринять при каждом сбое службы. Служба считается неудачной при завершении работы без создания отчетов о состоянии SERVICE_STOPPED контроллеру службы.
Сведения о настройке дополнительных обстоятельств, при которых выполняются действия сбоя, см. в SERVICE_FAILURE_ACTIONS_FLAG.
Синтаксис
typedef struct _SERVICE_FAILURE_ACTIONSA {
DWORD dwResetPeriod;
LPSTR lpRebootMsg;
LPSTR lpCommand;
DWORD cActions;
SC_ACTION *lpsaActions;
} SERVICE_FAILURE_ACTIONSA, *LPSERVICE_FAILURE_ACTIONSA;
Члены
dwResetPeriod
Время после сброса счетчика сбоев до нуля, если в секундах отсутствуют сбои. Укажите INFINITE, чтобы указать, что это значение никогда не следует сбрасывать.
lpRebootMsg
Сообщение, которое будет транслироваться пользователям сервера перед перезагрузкой в ответ на действие контроллера службы SC_ACTION_REBOOT.
Если это значение равно NULL, сообщение перезагрузки не изменяется. Если значение является пустой строкой (""), сообщение перезагрузки удаляется и сообщение не передается.
Этот член может указать локализованную строку с помощью следующего формата:
@[ путь]имени dllname,-strID
Строка с идентификатором
Windows Server 2003 и Windows XP: локализованные строки не поддерживаются до Windows Vista.
lpCommand
Командная строка процесса для функции CreateProcess CreateProcess, выполняемой в ответ на действие контроллера службы SC_ACTION_RUN_COMMAND. Этот процесс выполняется под той же учетной записью, что и служба.
Если это значение равно NULL, команда не изменяется. Если значение является пустой строкой (""), команда удаляется и программа не выполняется при сбое службы.
cActions
Количество элементов в массиве
Если это значение равно 0, но lpsaActions не имеет значения NULL, удаляется период сброса и массив действий сбоя.
lpsaActions
Указатель на массив SC_ACTION структур.
Если это значение равно NULL, элементы cActions и dwResetPeriod игнорируются.
Замечания
Диспетчер управления службами подсчитывает количество неудачных попыток каждой службы после загрузки системы. Число сбрасывается до 0, если служба не завершилась ошибкой в течение dwResetPeriod секунд. Если служба завершается ошибкой для Nвремени, контроллер службы выполняет действие, указанное в элементе [N-1] массива lpsaActions. Если N больше cActions, контроллер службы повторяет последнее действие в массиве.
Заметка
Заголовок winsvc.h определяет SERVICE_FAILURE_ACTIONS как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows XP [только классические приложения] |
минимальный поддерживаемый сервер | Windows Server 2003 [только классические приложения] |
заголовка | winsvc.h (включая Windows.h) |