Partilhar via


A função CAtlServiceModuleT::Start

Quando o serviço é executado, _tWinMain calls CAtlServiceModuleT::WinMain, que por sua vez chama a CAtlServiceModuleT::Start.

CAtlServiceModuleT::Start Configura uma matriz de SERVICE_TABLE_ENTRY estruturas que mapeiam cada serviço para sua função de inicialização.Essa matriz, em seguida, é passada para a função de API do Win32, StartServiceCtrlDispatcher.Em teoria, um EXE pudesse lidar com vários serviços e o array pode ter vários SERVICE_TABLE_ENTRY estruturas.Atualmente, entretanto, um serviço gerado pelo ATL suporta apenas um serviço por EXE.Portanto, o array tem uma única entrada que contém o nome do serviço e _ServiceMain sistema autônomo 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ção:

Falha de StartServiceCtrlDispatcher para se conectar ao Gerenciador de controle de serviços (SCM) provavelmente significa que o programa não está sendo executado sistema autônomo um serviço.Nesse caso, o programa chama CAtlServiceModuleT::Run diretamente para que possa executar o programa sistema autônomo um servidor local. Para obter mais informações sobre sistema autônomo executar o programa sistema autônomo um servidor local, consulte Dicas de depuração.

Consulte também

Referência

Serviços ATL

CAtlServiceModuleT::Start