Raison de la modification de l’état du service en SERVICE_CONTROL_STOP. Si le code de contrôle actuel n’est pas SERVICE_CONTROL_STOP, ce membre est ignoré.
Ce membre doit être défini sur une combinaison d’un code général, d’un code de raison majeure et d’un code de raison mineure.
Voici les codes de raison générale.
Valeur
Signification
SERVICE_STOP_REASON_FLAG_CUSTOM
0x20000000
Le code de raison est défini par l’utilisateur. Si cet indicateur n’est pas présent, le code de raison est défini par le système. Si cet indicateur est spécifié avec un code de raison système, l’appel de fonction échoue.
Les utilisateurs peuvent créer des codes de raison principale personnalisés dans la plage SERVICE_STOP_REASON_MAJOR_MIN_CUSTOM (0x00400000) via SERVICE_STOP_REASON_MAJOR_MAX_CUSTOM (0x00ff0000) et les codes de raison mineure de la plage SERVICE_STOP_REASON_MINOR_MIN_CUSTOM (0x00000100) via SERVICE_STOP_REASON_MINOR_MAX_CUSTOM (0x0000FFFF).
Chaîne facultative qui fournit des informations supplémentaires sur l’arrêt du service. Cette chaîne est stockée dans le journal des événements, ainsi que le code de raison d’arrêt. Ce membre doit être NULL ou une chaîne valide inférieure à 128 caractères, y compris le caractère null de fin.
ServiceStatus
Pointeur vers une structure SERVICE_STATUS_PROCESS qui reçoit les dernières informations d’état du service. Les informations retournées reflètent l’état le plus récent que le service a signalé au gestionnaire de contrôle de service.
Le gestionnaire de contrôle de service remplit la structure uniquement lorsque ControlServiceEx retourne l’un des codes d’erreur suivants : NO_ERROR, ERROR_INVALID_SERVICE_CONTROL, ERROR_SERVICE_CANNOT_ACCEPT_CTRL ou ERROR_SERVICE_NOT_ACTIVE. Sinon, la structure n’est pas remplie.
Remarques
Note
L’en-tête winsvc.h définit SERVICE_CONTROL_STATUS_REASON_PARAMS 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 Vista [applications de bureau uniquement]
serveur minimum pris en charge
Windows Server 2008 [applications de bureau uniquement]