Compartir a través de


Función de CAtlServiceModuleT::Run

Ejecutar contiene las llamadas a PreMessageLoop, a RunMessageLoop, y a PostMessageLoop.Después de llamar a, PreMessageLoop primero almacena el identificador de subproceso de servicioEl servicio utilizará este id. para cerrarse enviando un mensaje de WM_QUIT mediante la función de la API Win32, PostThreadMessage.

PreMessageLoop llama InitializeSecurity.De forma predeterminada, InitializeSecurity llama CoInitializeSecurity con el descriptor de seguridad establecido en NULL, lo que significa que cualquier usuario tiene acceso al objeto.

Si no desea que el servicio para especificar su propia seguridad, reemplazo PreMessageLoop y no llama a InitializeSecurity, y COM a determinará la configuración de seguridad del registro.Una manera cómoda de configurar valores de registro se con la utilidad de DCOMCNFG analizada más adelante en esta sección.

Una vez que se especifica la seguridad, el objeto se registra con COM para que los nuevos clientes puedan conectar el programa.Finalmente, el programa indica el administrador de control de servicios (SCM) que ejecute y el programa escribe un bucle de mensajes.El programa permanece ejecutándose hasta que envíe un mensaje salido sobre el cierre del servicio.

Vea también

Referencia

Servicios ATL

Clase de CSecurityDesc

Clase de CSid

Clase de CDacl

CAtlServiceModuleT::Run