SERVICE_FAILURE_ACTIONSW structure (winsvc.h)
Représente l’action que le contrôleur de service doit effectuer sur chaque défaillance d’un service. Un service est considéré comme ayant échoué lorsqu’il se termine sans signaler de status 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_ACTIONSW {
DWORD dwResetPeriod;
LPWSTR lpRebootMsg;
LPWSTR lpCommand;
DWORD cActions;
SC_ACTION *lpsaActions;
} SERVICE_FAILURE_ACTIONSW, *LPSERVICE_FAILURE_ACTIONSW;
Membres
dwResetPeriod
Délai après lequel rétablir 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 le redémarrage en réponse à l’action du contrôleur de service SC_ACTION_REBOOT .
Si cette valeur est NULL, le message de redémarrage est inchangé. 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 l’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 : Les 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 que la fonction CreateProcess s’exécute 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 est inchangée. Si la valeur est une chaîne vide (« »), la commande est supprimée et aucun programme n’est exécuté en cas d’échec du service.
cActions
Nombre d’éléments dans le tableau lpsaActions .
Si cette valeur est 0, mais que lpsaActions n’a pas la valeur NULL, la période de réinitialisation et le tableau des 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é pendant les secondes dwResetPeriod . Lorsque le service échoue pour la Nièmefois, 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.
Notes
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. La combinaison 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.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
En-tête | winsvc.h (inclure Windows.h) |