Поделиться через


структура 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

Строка с идентификатором strID загружается из имени dllname; пути является необязательным. Дополнительные сведения см. в разделе RegLoadMUIString.

Windows Server 2003 и Windows XP: локализованные строки не поддерживаются до Windows Vista.

lpCommand

Командная строка процесса для функции CreateProcess 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)

См. также

ChangeServiceConfig2

CreateProcess

QueryServiceConfig2

SC_ACTION

SERVICE_FAILURE_ACTIONS_FLAG