Partilhar via


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ço O 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.

Consulte também

Referência

Serviços ATL

Classe de CSecurityDesc

Classe de CSid

Classe de CDacl

CAtlServiceModuleT::Run