共用方式為


CAtlServiceModuleT::Handler

服務的處理常式。

void Handler(
   DWORD dwOpcode 
) throw( );

參數

  • dwOpcode
    定義處理常式作業的參數。 如需詳細資訊,請參閱"備註"。

備註

這是服務控制管理員 (SCM) (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 類別