ServiceBase.OnPause ServiceBase.OnPause ServiceBase.OnPause ServiceBase.OnPause Method

定義

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

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

注釈

使用OnPauseサービスが一時停止コマンドを受信するときに発生する処理を指定します。Use OnPause to specify the processing that occurs when the service receives a Pause command. OnPause オーバーライドする場合が想定されて、CanPauseAndContinueプロパティはtrueします。OnPause is expected to be overridden when the CanPauseAndContinue property is true.

(いずれかまたはプログラムによって、サービス コンソール)、一時停止したサービスを続行すると、OnContinue処理が実行され、サービスが再度アクティブになります。When you continue a paused service (either through the Services console or programmatically), the OnContinue processing is run, and the service becomes active again.

一時停止コマンドには、特定のイベントに対応するため、アプリケーションのみが許可されます。The Pause command only allows your application to react to a specific event. OnPause 実行する処理を定義していないサービスに何もしません。OnPause does nothing to the service that you do not define it to do.

一時停止要求をサービスに送信すると、一時停止は、すべてのシステム リソースを解放しない必要があるためにシステム リソースを節約できます。Sending a Pause request to the service can conserve system resources because Pause need not release all system resources. たとえば、スレッドが停止することができます、スレッドが、開いたままにするのではなく、サービスを一時停止、プロセスによって開かれている場合、サービスを継続する場合に再割り当ての必要があります。For example, if threads have been opened by the process, pausing a service rather than stopping it can allow the threads to remain open, obviating the need to reallocate them when the service continues. すべてのシステム リソースを解放する一時停止を定義する場合は、停止コマンドと同様に動作します。If you define Pause to release all system resources, it behaves like a Stop command.

設定CanPauseAndContinuetrue、オーバーライドとOnPauseOnContinueSCM がサービスを一時停止または続行要求を通過するときに発生する処理を指定します。Set CanPauseAndContinue to true, and override OnPause and OnContinue to specify the processing that should occur when the SCM passes a Pause or Continue request to your service. OnContinue 元に戻すで処理するために実装OnPauseします。OnContinue should be implemented to undo the processing in OnPause.

場合CanPauseAndContinuefalse、SCM に合格しない一時停止または続行要求は、そのため、サービスに、OnPauseOnContinue実装されている場合でも、メソッドは呼び出されません。If CanPauseAndContinue is false, the SCM will not pass Pause or Continue requests to the service, so the OnPause and OnContinue methods will not be called even if implemented. SCM で、PauseContinueコントロールが無効になっているときにCanPauseAndContinuefalseします。In the SCM, the Pause and Continue controls are disabled when CanPauseAndContinue is false.

適用対象

こちらもご覧ください