CServiceModule::Start

La routine WinMain gestisce sia registrazione e installazione, così come la cancellazione e la disinstallazione. Quando viene eseguito il servizio, WinMain chiama CServiceModule::Start.

CServiceModule::Start imposta una matrice di strutture SERVICE_TABLE_ENTRY che mappa ogni servizio alla sua funzione di avvio. Questa matrice viene quindi passata alla funzione API Win32, StartServiceCtrlDispatcher. In teoria, un EXE in grado di gestire più servizi e la matrice potrebbe avere più strutture di SERVICE_TABLE_ENTRY . Attualmente, tuttavia, un servizio generato ATL supporta un solo servizio a EXE. Pertanto, la matrice ha una sola voce che contiene il nome del servizio e _ServiceName come la funzione di avvio. _ServiceName è una funzione membro static di CServiceModule che chiama la funzione membro non statico, ServiceName.

&Notanbsp;  Errore di StartServiceCtrlDispatcher di connettersi a gestione controllo servizi (SCM) probabilmente significa che il programma non è in esecuzione come servizio. In questo caso, il programma chiama CServiceModule::Run direttamente in modo che il programma può essere eseguito come un server locale. Per ulteriori informazioni sull'esecuzione del programma come server locale, vedere Debug di suggerimenti.

Index