Partilhar via


A função CAtlServiceModuleT::ServiceMain

O Gerenciador de controle de serviços (SCM) chama ServiceMain Quando você abre o aplicativo do painel de controle de serviços, selecionar o serviço e clicar Iniciar.

Após o SCM chama ServiceMain, um serviço deve fornecer o SCM uma função de manipulador. Essa função permite que o SCM a obter o status do serviço e passar instruções específicas (por exemplo, pausar ou interromper).O SCM obtém essa função quando o serviço passa _Handler para a função de API do Win32, RegisterServiceCtrlHandler.(_Handler é uma função de membro estático que chama a função de membro não estático Manipulador.)

Na inicialização, um serviço deve também informar o SCM seu status corrente.Ele faz isso passando SERVICE_START_PENDING para a função de API do Win32, SetServiceStatus.

ServiceMain em seguida, chama CAtlExeModuleT::InitializeCom, que chama a função de API do Win32 CoInitializeEx.Por padrão, InitializeCom passa o COINIT_MULTITHREADED sinalizar para a função.Este sinalizar indica que o programa é como um servidor de segmentação disponível.

Now, CAtlServiceModuleT::Run é chamado para realizar o trabalho principal do serviço. Executar continua a executar até que o serviço for interrompido.

Consulte também

Referência

Serviços ATL

CAtlServiceModuleT::ServiceMain