Funkcja CAtlServiceModuleT::Start

Gdy uruchomiona jest usługa, _tWinMain wywołania CAtlServiceModuleT::WinMain, który z kolei wywołuje CAtlServiceModuleT::Start.

CAtlServiceModuleT::StartUstawia tablicę SERVICE_TABLE_ENTRY struktur, które mapę do jego funkcji uruchamiania każdej usługi.Ta tablica jest następnie przekazywany do funkcji Win32 API StartServiceCtrlDispatcher.Teoretycznie jeden EXE może obsługiwać wiele usług i tablicy może mieć wiele SERVICE_TABLE_ENTRY struktury.Obecnie jednak generowany ATL usługa obsługuje tylko jedną usługę na EXE.Dlatego tablica ma pojedynczy wpis, który zawiera nazwę usługi i _ServiceMain jako funkcja uruchamiania._ServiceMain jest funkcją członka statycznego CAtlServiceModuleT , wywołuje funkcję niestatycznego członka, ServiceMain.

[!UWAGA]

Awaria StartServiceCtrlDispatcher połączyć formant service manager (SCM) prawdopodobnie oznacza że program nie działa jako usługa.W takim przypadku wywołuje program CAtlServiceModuleT::Run bezpośrednio tak, aby uruchamiać program jako serwera lokalnego.Aby uzyskać więcej informacji o uruchamianiu programu jako lokalnego serwera, zobacz Porady dotyczące debugowania.

Zobacz też

Informacje

Usługi ATL

CAtlServiceModuleT::Start