次の方法で共有


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

参照

関連項目

CAtlServiceModuleT クラス