Freigeben über


Dienststeuerungsanforderungen

Zum Senden von Steuerelementanforderungen an einen ausgeführten Dienst verwendet ein Dienststeuerungsprogramm die ControlService--Funktion. Diese Funktion gibt einen Steuerelementwert an, der an die HandlerEx- Funktion des angegebenen Diensts übergeben wird. Dieser Steuerelementwert kann ein benutzerdefinierter Code sein, oder es kann sich um einen der Standardcodes handeln, mit denen das aufrufende Programm die folgenden Aktionen ausführen kann:

  • Beenden eines Diensts (SERVICE_CONTROL_STOP).
  • Anhalten eines Diensts (SERVICE_CONTROL_PAUSE).
  • Fortsetzen der Ausführung eines angehaltenen Diensts (SERVICE_CONTROL_CONTINUE).
  • Abrufen aktualisierter Statusinformationen von einem Dienst (SERVICE_CONTROL_INTERROGATE).

Jeder Dienst gibt die Steuerelementwerte an, die er akzeptiert und verarbeitet. Verwenden Sie die QueryServiceEx--Funktion, oder geben Sie den SERVICE_CONTROL_INTERROGATE Steuerelementwert in einem Aufruf der ControlService--Funktion an, um zu bestimmen, welche Standardsteuerelementwerte von einem Dienst akzeptiert werden. Der dwControlsAccepted Member der von diesen Funktionen zurückgegebenen SERVICE_STATUS Struktur gibt an, ob der Dienst beendet, angehalten oder fortgesetzt werden kann. Alle Dienste akzeptieren den SERVICE_CONTROL_INTERROGATE Steuerelementwert.

Die QueryServiceStatusEx--Funktion meldet den neuesten Status für einen angegebenen Dienst, ruft jedoch keinen aktualisierten Status vom Dienst selbst ab. Die Verwendung des SERVICE_CONTROL_INTERROGATE-Steuerelementwerts in einem Aufruf von ControlService stellt sicher, dass die zurückgegebenen Statusinformationen aktuell sind.

Steuern eines Diensts mithilfe von SC-