RegisterServiceCtrlHandlerEx |
Declare FFunction Api_RegisterServiceCtrlHandlerEx& Lib "advapi32" Alias "RegisterServiceCtrlHandlerEx" (ByVal lpServiceName$, ByRef lpHandlerProc As LPHANDLER_FUNCTION_EX, lpContext As Any) |
||||||
Declare Function RegisterServiceCtrlHandlerEx Lib "advapi32" Alias "RegisterServiceCtrlHandlerEx" (ByVal lpServiceName As String, ByRef lpHandlerProc As LPHANDLER_FUNCTION_EX, lpContext As Any) As Long |
|||||||
サービスアプリケーションは RegisterServiceCtrlHandlerEx
関数を呼び出して、自らのサービス制御要求を処理する関数を登録する。 |
|||||||
パラメータ
ービスの作成時にサービス制御プログラムが CreateService 関数で指定したサービスの名前である。
きにサービスを識別するのに役立つ。 コードを設定することがある。
解説 ャに登録しなければならない。この結果、制御ディスパッチャはそのサービスに対する制御の要求を受け取ったときに、指定された関数を呼 び出せるようになる。呼び出し側プロセスのスレッドは、この関数が返したサービスステータスのハンドルを使って、それ以降の
SetServiceStatus
関数の呼び出しでこのサービスを識別することができる。 てこのサービスのステータスを設定することがないよう、RegisterServiceCtrlHandlerEx 関数が呼び出し側用のサービスステータスのハンド ルを返すからである。加えて、サービスが制御ハンドラを指定する時点までに、制御の要求を受け取れるように制御ハンドラを実装しておかな
ければならない。サービスは、SetServiceStatus 関数を通してこの制御ハンドラを受け入れる。
SetServiceStatus
関数を呼び出して自らの現在のステータスをサービス制御マネージャへ通知しなければならない。 |