Freigeben über


CAtlServiceModuleT::Start Function

Wenn der Dienst durchgeführt wird, ruft _tWinMain CAtlServiceModuleT::WinMain auf, der wiederum CAtlServiceModuleT::Start aufruft.

CAtlServiceModuleT::Start installieren ein Array SERVICE_TABLE_ENTRY-Strukturen, die jeden Dienst zu seiner Startfunktion zuordnen. Dieses Array wird dann zur Win32-API, StartServiceCtrlDispatcher übergeben. Theoretisch kann eine EXE-Datei mehrere behandeln und das Array kann über mehrere SERVICE_TABLE_ENTRY-Strukturen verfügen. Derzeit jedoch ATL-generierte Dienst nur ein Dienst pro EXE. Deshalb hat das Array einen einzelnen Eintrag, der den Dienstnamen und _ServiceMain als Startfunktion enthält. _ServiceMain ist eine statische Memberfunktion der CAtlServiceModuleT, die die nicht statische Memberfunktion aufruft, ServiceMain.

Hinweis

Überschneidungen mit StartServiceCtrlDispatcher, an den Dienststeuerungs-Manager (SCM) herzustellen wahrscheinlich bedeutet, dass das Programm nicht als Dienst ausgeführt wird.In diesem Fall ruft das Programm CAtlServiceModuleT::Run direkt auf, damit das Programm als lokalen Server ausgeführt werden kann.Weitere Informationen zum Ausführen des Programms als lokalen Server, finden Sie unter Tipps zum Debuggen.

Siehe auch

Referenz

ATL-Dienste

CAtlServiceModuleT::Start