Dela via


Begäranden om tjänstkontroll

För att skicka kontrollbegäranden till en tjänst som körs använder ett tjänstkontrollprogram funktionen ControlService. Den här funktionen anger ett kontrollvärde som skickas till funktionen HandlerEx för den angivna tjänsten. Det här kontrollvärdet kan vara en användardefinierad kod, eller så kan det vara en av standardkoderna som gör att det anropande programmet kan utföra följande åtgärder:

  • Stoppa en tjänst (SERVICE_CONTROL_STOP).
  • Pausa en tjänst (SERVICE_CONTROL_PAUSE).
  • Återuppta körningen av en pausad tjänst (SERVICE_CONTROL_CONTINUE).
  • Hämta uppdaterad statusinformation från en tjänst (SERVICE_CONTROL_INTERROGATE).

Varje tjänst anger de kontrollvärden som den accepterar och bearbetar. Om du vill avgöra vilka av standardkontrollvärdena som godkänns av en tjänst använder du funktionen QueryServiceStatusEx eller anger SERVICE_CONTROL_INTERROGATE-kontrollvärdet i ett anrop till funktionen ControlService. dwControlsAccepted medlem i den SERVICE_STATUS struktur som returneras av dessa funktioner anger om tjänsten kan stoppas, pausas eller återupptas. Alla tjänster accepterar SERVICE_CONTROL_INTERROGATE kontrollvärdet.

Funktionen QueryServiceStatusEx rapporterar den senaste statusen för en angiven tjänst, men får ingen uppdaterad status från själva tjänsten. Om du använder SERVICE_CONTROL_INTERROGATE kontrollvärdet i ett anrop till ControlService ser du till att statusinformationen som returneras är aktuell.

styra en tjänst med sc-