CAtlServiceModuleT::Start功能

在服务控制时,_tWinMain 调用 CAtlServiceModuleT::WinMain,然后调用 CAtlServiceModuleT::Start

CAtlServiceModuleT::Start 设置数组映射每个服务将其启动功能的 SERVICE_TABLE_ENTRY 结构。 此数组随后传递给Win32 API函数,StartServiceCtrlDispatcher。 理论上,一EXE可以处理多项服务,并且该数组可以具有多个 SERVICE_TABLE_ENTRY 结构。 目前,但是,ATL生成的服务只支持EXE每一服务。 因此,该数组包含服务名和 _ServiceMain 作为启动功能的条目。 _ServiceMain 是调用非静态成员函数 CAtlServiceModuleTServiceMain的静态成员函数。

备注

StartServiceCtrlDispatcher 的未连接到服务控制管理器(SCM)可能意味着程序不作为服务运行。这种情况下,过程直接调用 CAtlServiceModuleT::Run,以便程序可以运行作为本地服务器。有关运行程序的更多信息作为本地服务器,请参见 调试提示

请参见

参考

ATL 服务

CAtlServiceModuleT::Start