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