Partager via


structure SERVICE_FAILURE_ACTIONSA (winsvc.h)

Représente l’action que le contrôleur de service doit entreprendre sur chaque défaillance d’un service. Un service est considéré comme ayant échoué lorsqu’il se termine sans signaler l’état de SERVICE_STOPPED au contrôleur de service.

Pour configurer des circonstances supplémentaires dans lesquelles les actions d’échec doivent être exécutées, consultez SERVICE_FAILURE_ACTIONS_FLAG.

Syntaxe

typedef struct _SERVICE_FAILURE_ACTIONSA {
  DWORD     dwResetPeriod;
  LPSTR     lpRebootMsg;
  LPSTR     lpCommand;
  DWORD     cActions;
  SC_ACTION *lpsaActions;
} SERVICE_FAILURE_ACTIONSA, *LPSERVICE_FAILURE_ACTIONSA;

Membres

dwResetPeriod

Heure après laquelle réinitialiser le nombre d’échecs à zéro s’il n’y a pas d’échec, en secondes. Spécifiez INFINITE pour indiquer que cette valeur ne doit jamais être réinitialisée.

lpRebootMsg

Message à diffuser aux utilisateurs du serveur avant de redémarrer en réponse à l’action du contrôleur de service SC_ACTION_REBOOT.

Si cette valeur est NULL, le message de redémarrage n’est pas modifié. Si la valeur est une chaîne vide ( » « ), le message de redémarrage est supprimé et aucun message n’est diffusé.

Ce membre peut spécifier une chaîne localisée au format suivant :

@[path]dllname,-strID

La chaîne avec identificateur strID est chargée à partir de dllname; le chemin d’accès est facultatif. Pour plus d’informations, consultez RegLoadMUIString.

Windows Server 2003 et Windows XP : chaînes localisées ne sont pas prises en charge tant que Windows Vista n’est pas pris en charge.

lpCommand

Ligne de commande du processus pour la fonction CreateProcess à exécuter en réponse à l’action du contrôleur de service SC_ACTION_RUN_COMMAND. Ce processus s’exécute sous le même compte que le service.

Si cette valeur est NULL, la commande n’est pas modifiée. Si la valeur est une chaîne vide ( » « ), la commande est supprimée et aucun programme n’est exécuté lorsque le service échoue.

cActions

Nombre d’éléments dans le tableau lpsaActions.

Si cette valeur est 0, mais que lpsaActions n’est pas NULL, la période de réinitialisation et le tableau d’actions d’échec sont supprimés.

lpsaActions

Pointeur vers un tableau de structures SC_ACTION.

Si cette valeur est NULL, les membres cActions et dwResetPeriod sont ignorés.

Remarques

Le gestionnaire de contrôle de service compte le nombre de fois où chaque service a échoué depuis le démarrage du système. Le nombre est réinitialisé à 0 si le service n’a pas échoué pour dwResetPeriod secondes. Lorsque le service échoue pour la Nième fois, le contrôleur de service effectue l’action spécifiée dans l’élément [N-1] du tableau lpsaActions . Si N est supérieur à cActions, le contrôleur de service répète la dernière action dans le tableau.

Note

L’en-tête winsvc.h définit SERVICE_FAILURE_ACTIONS en tant qu’alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Exigences

Exigence Valeur
client minimum pris en charge Windows XP [applications de bureau uniquement]
serveur minimum pris en charge Windows Server 2003 [applications de bureau uniquement]
d’en-tête winsvc.h (inclure Windows.h)

Voir aussi

changeServiceConfig2

CreateProcess

QueryServiceConfig2

SC_ACTION

SERVICE_FAILURE_ACTIONS_FLAG