Compartilhar via


Função de CAtlServiceModuleT::Start

Quando o serviço é dirigido, _tWinMain chama CAtlServiceModuleT::WinMainchama, que por sua vez CAtlServiceModuleT::Start.

CAtlServiceModuleT::Start configura de um vetor de estruturas de SERVICE_TABLE_ENTRY que mapeiam cada serviço para sua função de inicialização.Essa matriz é passada à função da API do Win32, StartServiceCtrlDispatcher.Em teoria, um EXE pode manipular vários serviços e a matriz pode ter vários frameworks de SERVICE_TABLE_ENTRY .Atualmente, o entanto, os serviços de suporte ATL- gerados apenas um serviço por EXE.Portanto, o array tem uma única entrada que contém o nome e _ServiceMain de serviço como a função de inicialização._ServiceMain é uma função de membro estático de CAtlServiceModuleT que chama a função de membro não-estático, ServiceMain.

ObservaçãoObservação

A falha de StartServiceCtrlDispatcher (SCM) conectar ao gerenciador de controle de serviço provavelmente significa que o programa não estiver sendo executado como um serviço.Em esse caso, o programa chama CAtlServiceModuleT::Run diretamente para que o programa possa executar como um servidor local.Para obter mais informações sobre executar o programa como um servidor local, consulte Dicas de depuração.

Consulte também

Referência

Serviços de ATL

CAtlServiceModuleT::Start