Funzione di CAtlServiceModuleT::ServiceMain
L'amministratore (SCM) del controllo del servizio chiama ServiceMain quando si apre l'applicazione del Pannello di controllo servizi, selezionare il servizio e scegliere Avvia.
Dopo la Gestione controllo servizi chiama ServiceMain, un servizio deve fornire la Gestione controllo servizi una funzione di gestione.Questa funzione consente la Gestione controllo servizi ottenere lo stato del servizio e passare le istruzioni specifiche (come sospendere o arrestare).La Gestione controllo servizi ottiene la funzione quando le sessioni _Handler alla funzione API Win32, RegisterServiceCtrlHandlerdi servizio.(_Handler è una funzione membro static che chiama la funzione membro gestoredi non statico.)
All'avvio, un servizio deve inoltre fornire la Gestione controllo servizi il relativo stato corrente.In questo passaggio SERVICE_START_PENDING alla funzione API Win32, SetServiceStatus.
ServiceMain chiama quindi CAtlExeModuleT::InitializeCom, che chiama la funzione CoInitializeExAPI Win32.Per impostazione predefinita, InitializeCom passa il flag COINIT_MULTITHREADED alla funzione.Questo flag indica che il programma è necessario un server a thread libero.
Ora, CAtlServiceModuleT::Run viene chiamato per eseguire le attività principali del servizio.Esegui continua l'esecuzione fino alla chiusura del servizio.