CAtlServiceModuleT::Start 関数

CAtlServiceModuleT::Startを呼び出すサービスが実行されると、_tWinMainCAtlServiceModuleT::WinMainを呼び出します。

CAtlServiceModuleT::Start は起動関数に各サービスをマップする SERVICE_TABLE_ENTRY の構造体の配列を設定します。 この配列は Win32 API 関数、StartServiceCtrlDispatcherに渡されます。 理論的には、EXE 1 は、複数サービスを処理し、配列は SERVICE_TABLE_ENTRY の複数の構造を持つことができます。 現在、ATL 生成されたサービスは EXE ごとに 1 回サービスのみが。 したがって、配列に起動関数としてサービス名と _ServiceMain を含む単一エントリがあります。 _ServiceMain は静的でないメンバー関数を呼び出す CAtlServiceModuleTServiceMainの静的メンバー関数です。

注意

StartServiceCtrlDispatcher のエラーは、Services Control Manager (SCM) に接続する、プログラムがサービスとして実行されていないことを意味します。この場合は、プログラムがローカル サーバーとして実行できるように CAtlServiceModuleT::Run を直接呼び出します。ローカル サーバーとしてプログラムを実行する方法の詳細については、デバッグのヒントを参照してください。

参照

関連項目

ATL サービス

CAtlServiceModuleT::Start