Compartilhar via


estrutura SERVICE_FAILURE_ACTIONSW (winsvc.h)

Representa a ação que o controlador de serviço deve executar em cada falha de um serviço. Um serviço é considerado com falha quando termina sem relatar um status de SERVICE_STOPPED ao controlador de serviço.

Para configurar circunstâncias adicionais nas quais as ações de falha devem ser executadas, consulte SERVICE_FAILURE_ACTIONS_FLAG.

Sintaxe

typedef struct _SERVICE_FAILURE_ACTIONSW {
  DWORD     dwResetPeriod;
  LPWSTR    lpRebootMsg;
  LPWSTR    lpCommand;
  DWORD     cActions;
  SC_ACTION *lpsaActions;
} SERVICE_FAILURE_ACTIONSW, *LPSERVICE_FAILURE_ACTIONSW;

Membros

dwResetPeriod

O tempo após o qual redefinir a contagem de falhas será zero se não houver falhas, em segundos. Especifique INFINITE para indicar que esse valor nunca deve ser redefinido.

lpRebootMsg

A mensagem a ser transmitida aos usuários do servidor antes de reinicializar em resposta à ação do controlador de serviço SC_ACTION_REBOOT.

Se esse valor for NULL, a mensagem de reinicialização ficará inalterada. Se o valor for uma cadeia de caracteres vazia (""), a mensagem de reinicialização será excluída e nenhuma mensagem será transmitida.

Esse membro pode especificar uma cadeia de caracteres localizada usando o seguinte formato:

@[caminho]dllname,-strID

A cadeia de caracteres com identificador strID é carregada de dllname; o caminho é opcional. Para obter mais informações, consulte RegLoadMUIString.

Windows Server 2003 e Windows XP: não há suporte para cadeias de caracteres localizadas até o Windows Vista.

lpCommand

A linha de comando do processo para a função CreateProcess a ser executada em resposta à ação do controlador de serviço SC_ACTION_RUN_COMMAND. Esse processo é executado na mesma conta que o serviço.

Se esse valor for NULL, o comando ficará inalterado. Se o valor for uma cadeia de caracteres vazia (""), o comando será excluído e nenhum programa será executado quando o serviço falhar.

cActions

O número de elementos na matriz de lpsaActions.

Se esse valor for 0, mas lpsaActions não for NULL, o período de redefinição e a matriz de ações de falha serão excluídos.

lpsaActions

Um ponteiro para uma matriz de estruturas SC_ACTION.

Se esse valor for NULL, os membros cActions e dwResetPeriod serão ignorados.

Observações

O gerenciador de controle de serviço conta o número de vezes que cada serviço falhou desde que o sistema foi inicializado. A contagem será redefinida para 0 se o serviço não tiver falhado para dwResetPeriod segundos. Quando o serviço falha pela Nª vez, o controlador de serviço executa a ação especificada no elemento [N-1] da matriz lpsaActions . Se N for maior que cActions, o controlador de serviço repetirá a última ação na matriz.

Nota

O cabeçalho winsvc.h define SERVICE_FAILURE_ACTIONS como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows XP [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows Server 2003 [somente aplicativos da área de trabalho]
cabeçalho winsvc.h (incluir Windows.h)

Consulte também

ChangeServiceConfig2

CreateProcess

QueryServiceConfig2

SC_ACTION

SERVICE_FAILURE_ACTIONS_FLAG