Assembly: System.ServiceProcess (in system.serviceprocess.dll)
'Declaration Protected Overridable Sub OnCustomCommand ( _ command As Integer _ ) 'Usage Dim command As Integer Me.OnCustomCommand(command)
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.
The only values for a custom command that you can define in your application or use in OnCustomCommand are those between 128 and 256. 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.
The following example shows an implementation of the OnCustomCommand method for a service class derived from ServiceBase. This code example is part of a larger example provided for the ServiceBase class.
' Handle a custom command. Protected Overrides Sub OnCustomCommand(ByVal command As Integer) #If LOGEVENTS Then System.Diagnostics.EventLog.WriteEntry("SimpleService.OnCustomCommand", DateTime.Now.ToLongTimeString() + _ " - Custom command received: " + command.ToString()) #End If ' If the custom command is recognized, ' signal the worker thread appropriately. Select Case command Case Fix(SimpleServiceCustomCommands.StopWorker) ' Signal the worker thread to terminate. ' For this custom command, the main service ' continues to run without a worker thread. OnStop() Case Fix(SimpleServiceCustomCommands.RestartWorker) ' Restart the worker thread if necessary. OnStart(Nothing) Case Fix(SimpleServiceCustomCommands.CheckWorker) #If LOGEVENTS Then ' Log the current worker thread state. System.Diagnostics.EventLog.WriteEntry("SimpleService.OnCustomCommand", _ DateTime.Now.ToLongTimeString() + _ " OnCustomCommand - Worker thread state = " + _ workerThread.ThreadState.ToString()) #End If Case Else #If LOGEVENTS Then System.Diagnostics.EventLog.WriteEntry("SimpleService.OnCustomCommand", _ DateTime.Now.ToLongTimeString()) #End If End Select End Sub 'OnCustomCommand
Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.