CAtlServiceModuleT::Handler
サービスのハンドラー ルーチン。
void Handler(
DWORD dwOpcode
) throw( );
パラメーター
- dwOpcode
ハンドラーの操作を定義するスイッチ。詳細については、"解説"を参照してください。
解説
これは、(SCM) 一時停止するようにサービス コントロール マネージャーはサービスの状態を取得し、停止などのコマンドを発行し、呼び出すコードです。SCM は Handler に、サービスが必要なコンポーネントを示すためにする以下のオペレーション コードを渡します。
オペレーション コード |
説明 |
---|---|
SERVICE_CONTROL_STOP |
サービスを停止します。動作を変更するに CAtlServiceModuleT::OnStop atlbase.h のメソッドをオーバーライドします。 |
SERVICE_CONTROL_PAUSE |
実装されたユーザー。一時停止するに atlbase.h の空の CAtlServiceModuleT::OnPause サービス メソッドをオーバーライドします。 |
SERVICE_CONTROL_CONTINUE |
実装されたユーザー。サービスを続けるに atlbase.h の空の CAtlServiceModuleT::OnContinue メソッドをオーバーライドします。 |
SERVICE_CONTROL_INTERROGATE |
実装されたユーザー。サービスに質問するに CAtlServiceModuleT::OnInterrogate atlbase.h の空のメソッドをオーバーライドします。 |
SERVICE_CONTROL_SHUTDOWN |
実装されたユーザー。シャットダウンに atlbase.h の空の CAtlServiceModuleT::OnShutdown サービス メソッドをオーバーライドします。 |
オペレーション コードが認識されない場合は、CAtlServiceModuleT::OnUnknownRequest メソッドが呼び出されます。
既定では、サービスのハンドルのみ停止命令 ATL 発生させます。SCM が停止命令を渡すと、サービスは、プログラムが停止しようとしているように SCM に指示します。サービスはそのものに終了られたメッセージをポストするように PostThreadMessage を呼び出します。これは、メッセージ ループを終了し、サービスは、最終的に閉じます。
必要条件
ヘッダー: atlbase.h