Udostępnij za pośrednictwem


Żądania kontroli usługi

Aby wysyłać żądania kontroli do uruchomionej usługi, program kontroli usługi używa funkcji ControlService. Ta funkcja określa wartość kontrolki przekazywaną do funkcji HandlerEx określonej usługi. Ta wartość kontrolki może być kodem zdefiniowanym przez użytkownika lub może być jednym ze standardowych kodów, które umożliwiają programowi wywołującym wykonywanie następujących akcji:

  • Zatrzymaj usługę (SERVICE_CONTROL_STOP).
  • Wstrzymywanie usługi (SERVICE_CONTROL_PAUSE).
  • Wznów wykonywanie wstrzymanej usługi (SERVICE_CONTROL_CONTINUE).
  • Pobierz zaktualizowane informacje o stanie z usługi (SERVICE_CONTROL_INTERROGATE).

Każda usługa określa wartości sterujące, które będą akceptowały i przetwarzały. Aby określić, które ze standardowych wartości kontrolek są akceptowane przez usługę, użyj funkcji QueryServiceStatusEx lub określ wartość kontrolki SERVICE_CONTROL_INTERROGATE w wywołaniu funkcji ControlService. dwControlsAccepted składowej struktury SERVICE_STATUS zwróconej przez te funkcje wskazuje, czy można zatrzymać, wstrzymać lub wznowić usługę. Wszystkie usługi akceptują wartość kontrolki SERVICE_CONTROL_INTERROGATE.

Funkcja QueryServiceStatusEx zgłasza najnowszy stan określonej usługi, ale nie otrzymuje zaktualizowanego stanu samej usługi. Użycie wartości kontrolki SERVICE_CONTROL_INTERROGATE w wywołaniu w celu ControlService gwarantuje, że zwrócone informacje o stanie są aktualne.

kontrolowanie usługi przy użyciu SC