структура 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, сообщение о перезагрузке не изменяется. Если значение является пустой строкой (""), сообщение о перезагрузке удаляется и сообщение не передается.
Этот член может указать локализованную строку в следующем формате:
@[path]dllname,-strID
Строка с идентификатором strID загружается из dllname; Путь является необязательным. Дополнительные сведения см. в разделе RegLoadMUIString.
Windows Server 2003 и Windows XP: Локализованные строки не поддерживаются до Windows Vista.
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, контроллер службы повторяет последнее действие в массиве.
Примечание
Заголовок winsvc.h определяет SERVICE_FAILURE_ACTIONS как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Верхняя часть | winsvc.h (включая Windows.h) |