Função de CAtlServiceModuleT::Run
Executar contém chamadas a PreMessageLoop, a RunMessageLoop, e a PostMessageLoop.Após ser chamado, PreMessageLoop armazena primeiro a identificação do segmento de serviçoO serviço usará este identificação para fechar enviando uma mensagem de WM_QUIT usando a função da API do Win32, PostThreadMessage.
PreMessageLoop então chama InitializeSecurity.Por padrão, InitializeSecurity chama CoInitializeSecurity com o descritor de segurança definido PARA ANULAR, o que significa que qualquer usuário tem acesso ao objeto.
Se você não deseja que o serviço para especificar sua própria segurança, substituição PreMessageLoop e não chama InitializeSecurity, e COM determinará nas configurações de segurança do Registro.Uma maneira conveniente para configurar configurações do Registro é com o utilitário de DCOMCNFG abordado posteriormente em esta seção.
Uma vez que a segurança é especificada, o objeto está registrado com COM para que os novos clientes podem se conectar ao programa.Finalmente, o programa com o gerenciador (SCM) do controle de serviço que está executando o programa e inserir um loop de mensagem.O programa permanecerá executando até que envia uma mensagem interrupção em cima de desligamento de serviço.