ServiceBase.OnStop ServiceBase.OnStop ServiceBase.OnStop ServiceBase.OnStop Method


派生クラスに実装されると、Stop コマンドがサービス コントロール マネージャー (SCM) によってサービスに送信されるときに実行されます。When implemented in a derived class, executes when a Stop command is sent to the service by the Service Control Manager (SCM). サービスが実行を停止したときに実行されるアクションを指定します。Specifies actions to take when a service stops running.

 virtual void OnStop();
protected virtual void OnStop ();
abstract member OnStop : unit -> unit
override this.OnStop : unit -> unit
Protected Overridable Sub OnStop ()


使用OnStopサービスを停止するコマンドを受信するときに発生する処理を指定します。Use OnStop to specify the processing that occurs when the service receives a Stop command.

値を使用して、SCM は、停止コマンドを受信するときにCanStopをサービスが停止コマンドを受け入れるかどうかを確認します。When the SCM receives a Stop command, it uses the value of CanStop to verify whether the service accepts Stop commands. 場合CanStoptrue、Stop コマンドは、サービスに渡されると、OnStop定義されている場合、メソッドが呼び出されます。If CanStop is true, the Stop command is passed to the service, and the OnStop method is called if it is defined. 場合OnStopが実装されていないサービスでは、SCM は、停止コマンドを処理します。If OnStop is not implemented in the service, the SCM handles the Stop command.

場合CanStopfalse、SCM Stop コマンドは無視されます。If CanStop is false, the SCM ignores the Stop command. サービスには渡されません。It is not passed to the service. Stop コマンドを返し、例外をスローします。The Stop command returns and throws an exception.

OnStop 派生クラスでオーバーライドされると想定されます。OnStop is expected to be overridden in the derived class. 有効に機能するサービスのOnStartOnStop両方のサービス クラスで実装する必要があります。For the service to be useful, OnStart and OnStop should both be implemented in your service class.