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が Pause コマンドを受信したときに発生する処理を指定するために使用します。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.

Pause コマンドを使用すると、アプリケーションは特定のイベントにのみ応答できます。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. すべてのシステムリソースを解放するために Pause を定義すると、Stop コマンドのように動作します。If you define Pause to release all system resources, it behaves like a Stop command.

CanPauseAndContinuetrue設定し、 OnPause およびOnContinueをオーバーライドして、SCM が Pause または Continue 要求をサービスに渡すときに発生する処理を指定します。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. OnContinueOnPause処理を元に戻すには、を実装する必要があります。OnContinue should be implemented to undo the processing in OnPause.

CanPauseAndContinue OnPause OnContinueの場合、SCM はサービスに対して Pause または Continue 要求を渡しません。そのため、実装されている場合でも、メソッドとメソッドは呼び出されません。 falseIf 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 Pauseでは、およびContinueコントロールは、がfalseCanPauseAndContinue場合は無効になります。In the SCM, the Pause and Continue controls are disabled when CanPauseAndContinue is false.

適用対象

こちらもご覧ください