Freigeben über


ServiceBase.OnCustomCommand(Int32) Methode

Definition

Bei der Implementierung in einer abgeleiteten Klasse wird OnCustomCommand(Int32) ausgeführt, wenn der Dienststeuerungs-Manager einen benutzerdefinierten Befehl an den Dienst übergibt. Gibt an, welche Aktionen auszuführen sind, wenn ein Befehl mit dem angegebenen Parameter auftritt.

protected:
 virtual void OnCustomCommand(int command);
protected virtual void OnCustomCommand (int command);
abstract member OnCustomCommand : int -> unit
override this.OnCustomCommand : int -> unit
Protected Overridable Sub OnCustomCommand (command As Integer)

Parameter

command
Int32

Die an den Dienst gesendete Befehlsnachricht.

Hinweise

OnCustomCommand Ermöglicht Es Ihnen, zusätzliche Funktionen über das Starten, Beenden, Anhalten und Fortsetzen von Diensten hinaus anzugeben.

Der SCM überprüft nicht den benutzerdefinierten Befehl, um zu überprüfen, ob der Dienst den command übergebenen Parameter unterstützt. Er übergibt den benutzerdefinierten Befehl direkt an den Dienst. Wenn der Dienst den command Parameter nicht erkennt, wird nichts ausgeführt.

Benutzerdefinierte Befehle werden von einer ExecuteCommand Anweisung in einer ServiceController Komponente ausgelöst. Verwenden Sie eine Switch-Anweisung oder wenn.. Dann müssen Sie die Bedingung behandeln, um die benutzerdefinierten Befehle zu behandeln, die Sie für Ihren Dienst definieren.

Die einzigen Werte für einen benutzerdefinierten Befehl, den Sie in Ihrer Anwendung definieren oder verwenden OnCustomCommand können, sind die Werte zwischen 128 und 255. Ganze Zahlen unter 128 entsprechen systemgeschützten Werten.

Wenn die AutoLog Eigenschaft trueist , benutzerdefinierte Befehle, wie alle anderen Befehle, schreiben Sie Einträge in das Ereignisprotokoll, um zu melden, ob die Methodenausführung erfolgreich war oder fehlgeschlagen ist.

Gilt für

Siehe auch