Dienststeuerungsanforderungen
Um Steuerelementanforderungen an einen ausgeführten Dienst zu senden, 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 oder einer der Standardcodes sein, mit denen das aufrufende Programm die folgenden Aktionen ausführen kann:
- Beenden Sie einen Dienst (SERVICE_CONTROL_STOP).
- Anhalten eines Diensts (SERVICE_CONTROL_PAUSE).
- Fortsetzen der Ausführung eines angehaltenen Diensts (SERVICE_CONTROL_CONTINUE).
- Abrufen aktualisierter status Informationen aus einem Dienst (SERVICE_CONTROL_INTERROGATE).
Jeder Dienst gibt die Steuerelementwerte an, die er akzeptiert und verarbeitet. Um zu bestimmen, welche der Standardsteuerelementwerte von einem Dienst akzeptiert werden, verwenden Sie die QueryServiceStatusEx-Funktion , oder geben Sie den SERVICE_CONTROL_INTERROGATE-Steuerelementwert in einem Aufruf der ControlService-Funktion an. Das dwControlsAccepted-Element der SERVICE_STATUS Struktur, die von diesen Funktionen zurückgegeben wird, gibt an, ob der Dienst beendet, angehalten oder fortgesetzt werden kann. Alle Dienste akzeptieren den SERVICE_CONTROL_INTERROGATE-Steuerelementwert.
Die QueryServiceStatusEx-Funktion meldet die neueste status für einen angegebenen Dienst, erhält jedoch keine aktualisierte status vom Dienst selbst. Die Verwendung des SERVICE_CONTROL_INTERROGATE-Steuerelementwerts in einem Aufruf von ControlService stellt sicher, dass die zurückgegebenen status Informationen aktuell sind.
Zugehörige Themen