CAtlServiceModuleT::Run功能

Run 包含对的 PreMessageLoopRunMessageLoopPostMessageLoop。 在调用后,PreMessageLoop 首先存储服务的线程ID. 服务将使用此ID通过发送 WM_QUIT 信息关闭它使用Win32 API函数,PostThreadMessage

PreMessageLoop 然后调用 InitializeSecurity。 默认情况下,InitializeSecurity 调用与安全描述符的 CoInitializeSecurity 设置为NULL,这意味着,任何用户可以访问对象的。

如果不希望服务指定自己的安全,重写 PreMessageLoop,并且不调用 InitializeSecurity,并且,COM将确定安全设置从注册表。 一种简便方式配置注册表设置与本节讨论后的 DCOMCNFG 实用工具。

click-once安全指定,对象移至COM注册,以便新客户端可以连接到程序。 最后,程序调用这些服务控制管理器(SCM)运行它,并使用这些消息循环。 程序保持运行,直到宣告一出的消息在服务关闭。

请参见

参考

ATL 服务

CSecurityDesc选件类

CSid选件类

CDacl选件类

CAtlServiceModuleT::Run