Demandes de contrôle de service
Pour envoyer des demandes de contrôle à un service en cours d’exécution, un programme de contrôle de service utilise la fonction ControlService . Cette fonction spécifie une valeur de contrôle qui est passée à la fonction HandlerEx du service spécifié. Cette valeur de contrôle peut être un code défini par l’utilisateur, ou il peut s’agir de l’un des codes standard qui permettent au programme appelant d’effectuer les actions suivantes :
- Arrêter un service (arrêt du contrôle de SERVICE _ _ ).
- Suspendre un service ( _ suspendre le contrôle de service _ ).
- Reprendre l’exécution d’un service suspendu ( _ le contrôle du service _ continue).
- Récupérer les informations d’État mises à jour à partir d’un service (interrogation du SERVICE de _ contrôle _ ).
Chaque service spécifie les valeurs de contrôle qu’il acceptera et traitera. Pour déterminer les valeurs de contrôle standard acceptées par un service, utilisez la fonction QueryServiceStatusEx ou spécifiez la valeur de _ _ contrôle d’interrogation du contrôle de service dans un appel à la fonction ControlService . Le membre dwControlsAccepted de la structure d' _ État de service retourné par ces fonctions indique si le service peut être arrêté, suspendu ou repris. Tous les services acceptent la _ valeur de contrôle d’interrogation du contrôle des services _ .
La fonction QueryServiceStatusEx signale l’état le plus récent pour un service spécifié, mais n’obtient pas d’État mis à jour à partir du service lui-même. L’utilisation de _ la _ valeur de contrôle d’interrogation du contrôle de service dans un appel à ControlService garantit que les informations d’état retournées sont actuelles.