Funkce CAtlServiceModuleT::Start
Pokud je služba spuštěna, _tWinMain volání CAtlServiceModuleT::WinMain, který zavolá CAtlServiceModuleT::Start .
CAtlServiceModuleT::StartNastavuje pole SERVICE_TABLE_ENTRY struktury, které jeho spuštění funkce mapovat každou službu.Toto pole je pak předána funkci rozhraní Win32 API, StartServiceCtrlDispatcher.Teoreticky může zpracovat jeden EXE více služeb a pole může obsahovat více SERVICE_TABLE_ENTRY struktury.V současné době však služby generovány ATL podporuje pouze jedna služba za EXE.Proto pole má jednu položku, která obsahuje název služby a _ServiceMain jako spuštění funkce._ServiceMain je funkce statický člen CAtlServiceModuleT , který volá funkci nestatickému členu ServiceMain .
[!POZNÁMKA]
Selhání StartServiceCtrlDispatcher k řízení služby (SCM) Správce pravděpodobně znamená, že program není spuštěn jako služba.V tomto případě program volá CAtlServiceModuleT::Run přímo tak, aby program jako místní server.Další informace o spuštění programu jako místní server, viz Ladění tipy.