Raison pour laquelle le service status 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 principal et d’un code de raison mineur.
Voici les codes de raison généraux.
Valeur
Signification
SERVICE_STOP_REASON_FLAG_CUSTOM
0x20000000
La raison du code est définie 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 principaux personnalisés dans la plage SERVICE_STOP_REASON_MAJOR_MIN_CUSTOM (0x00400000) à SERVICE_STOP_REASON_MAJOR_MAX_CUSTOM (0x00ff0000) et des codes de motifs mineurs dans la plage SERVICE_STOP_REASON_MINOR_MIN_CUSTOM (0x00000100) à 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 avec le code de raison d’arrêt. Ce membre doit être NULL ou une chaîne valide de moins de 128 caractères, y compris le caractère null de fin.
ServiceStatus
Pointeur vers une structure de SERVICE_STATUS_PROCESS qui reçoit les dernières informations de status de service. Les informations retournées reflètent les status les plus récentes que le service a signalées 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 renseignée.
Remarques
Notes
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. 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
Client minimal pris en charge
Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge
Windows Server 2008 [applications de bureau uniquement]