CServiceModule::Handler ist die Routine, die der Dienststeuerungs-Manager ruft den Status des Diensts abrufen und ihm verschiedene Anweisungen (z. B. das Beenden oder anhalten). Der Dienststeuerungs-Manager übergibt einen Befehlscode an Handler , um anzugeben, was der Dienst tun sollten. Ein Standard-ATL generierte-Dienst verarbeitet nur die Stop-Anweisung. Wenn der Dienststeuerungs-Manager die Stop-Anweisung übergibt, erzählt der Dienst der Dienststeuerungs-Manager, dass das Programm zu beenden. Der Dienst ruft anschließend PostThreadMessage auf eine beenden-Meldung an sich selbst senden. Dies beendet die Meldungsschleife und der Dienst wird letztendlich schließen.
Um weitere Anweisungen zu behandeln, müssen Sie den DwControlsAccepted -Datenmember initialisiert in der CServiceModule::Init -Funktion ändern. Dieser Datenmember teilt dem SCM welche Schaltflächen aktivieren, wenn der Dienst in der Anwendung Dienste in der Systemsteuerung ausgewählt ist.