CAtlServiceModuleT::Handler

服务的处理程序实例。

void Handler(
   DWORD dwOpcode 
) throw( );

参数

  • dwOpcode
    定义处理程序操作的开关。 有关详细信息,请参见备注。

备注

这是服务控制管理器(SCM)调用检索服务的状态并发出命令例如停止或暂停的代码。 SCM通过操作代码,如下所示,为 Handler 指示该服务应执行。

操作代码

含义

SERVICE_CONTROL_STOP

停止服务。 重写在atlbase.h的方法 CAtlServiceModuleT::OnStop 更改此行为。

SERVICE_CONTROL_PAUSE

用户实现。 重写在atlbase.h的空方法 CAtlServiceModuleT::OnPause 暂停服务。

SERVICE_CONTROL_CONTINUE

用户实现。 重写在atlbase.h的空方法 CAtlServiceModuleT::OnContinue 继续服务。

SERVICE_CONTROL_INTERROGATE

用户实现。 重写在atlbase.h的空方法 CAtlServiceModuleT::OnInterrogate 询问服务。

SERVICE_CONTROL_SHUTDOWN

用户实现。 重写在atlbase.h的空方法 CAtlServiceModuleT::OnShutdown 为以关闭服务。

如果操作代码未被识别,方法 CAtlServiceModuleT::OnUnknownRequest 调用。

默认ATL生成了仅服务处理停机命令。 如果SCM通过停机命令,服务调用SCM程序将停止。 服务然后调用 PostThreadMessage 宣告一出的消息到它。 这将停止消息循环,而服务最终关闭。

要求

Header: atlbase.h

请参见

参考

CAtlServiceModuleT选件类