Partilhar via


A função CAtlServiceModuleT::Run

Executar contém chamadas para PreMessageLoop, RunMessageLoop, e PostMessageLoop. Depois que está sendo chamado, PreMessageLoop primeiro armazena o identificador do segmento. do serviço O serviço usará essa ID para fechar propriamente dito, enviando um WM_QUIT mensagem usando a função de API do Win32, PostThreadMessage.

PreMessageLoop em seguida, chama InitializeSecurity. Por padrão, InitializeSecurity chamadas CoInitializeSecurity com o descritor de segurança definido como nulo, o que significa que qualquer usuário tem acesso ao seu objeto.

Se não desejar que o serviço para especificar sua própria segurança, substituir PreMessageLoop e não telefonar InitializeSecurity, e COM, em seguida, determinará as configurações de segurança do registro. Uma maneira conveniente definir configurações do registro é com o DCOMCNFG utilitário discutido posteriormente nesta seção.

Uma vez que segurança é especificada, o objeto foi registrado com para que novos clientes possam se conectar ao programa.Finalmente, o programa informa o Gerenciador de controle de serviços (SCM) que ele está sendo executado e o programa insere um loop de mensagem.O programa permanece em execução até que ele posta uma mensagem sair depois de desligado o serviço.

Consulte também

Referência

Serviços ATL

Classe CSecurityDesc

Classe CSid

Classe CDacl

CAtlServiceModuleT::Run