Share via

ServiceBase.OnCustomCommand(Int32) Method


When implemented in a derived class, OnCustomCommand(Int32) executes when the Service Control Manager (SCM) passes a custom command to the service. Specifies actions to take when a command with the specified parameter value occurs.

 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)



The command message sent to the service.


OnCustomCommand lets you specify additional functionality beyond starting, stopping, pausing and continuing services.

The SCM does not examine the custom command to verify whether the service supports the command parameter passed in. It passes the custom command directly to the service. If the service does not recognize the command parameter, it does nothing.

Custom commands are raised by an ExecuteCommand statement in a ServiceController component. Use a switch statement or if..then condition to handle the custom commands you define on your service.

The only values for a custom command that you can define in your application or use in OnCustomCommand are those between 128 and 255. Integers below 128 correspond to system-reserved values.

If the AutoLog property is true, custom commands, like all other commands, write entries to the event log to report whether the method execution succeeded or failed.

Applies to

See also