win32_set_service_status
サービスの状態を更新する
説明
void win32_set_service_status(int $status, int $checkpoint = 0)
警告
バージョン 0.2.0 以降は、この関数は "cli" SAPI でのみ動作します。
他の SAPI では、この関数は無効になっています。
パラメータ
-
status
-
以下のステータスコードのうちのひとつ。
WIN32_SERVICE_RUNNING、
WIN32_SERVICE_STOPPED、
WIN32_SERVICE_STOP_PENDING、
WIN32_SERVICE_START_PENDING、
WIN32_SERVICE_CONTINUE_PENDING、
WIN32_SERVICE_PAUSE_PENDING、
WIN32_SERVICE_PAUSED。
-
checkpoint
-
start, stop, pause や continue の操作がとても時間がかかる場合に、
その状態を報告する目的で定期的にインクリメントされるチェックポイントの値。
たとえば、サービスが起動中の場合は、
初期化のステップがひとつ終了するたびに、
この値をインクリメントすべきです。
checkpoint の値は、
status が以下の場合のみ、正しい値です:
WIN32_SERVICE_STOP_PENDING,
WIN32_SERVICE_START_PENDING,
WIN32_SERVICE_CONTINUE_PENDING,
WIN32_SERVICE_PAUSE_PENDING.
戻り値
値を返しません。
バージョン 1.0.0 より前では、成功した場合に WIN32_NO_ERROR を返していました。パラメータに問題がある場合は false、失敗した場合は Win32 エラーコード を返します。
エラー / 例外
バージョン 1.0.0 より前では、
SAPI が "cli" でない場合、
この関数は E_ERROR レベルのエラーを発生させていました。
バージョン 1.0.0 以降では、
SAPI が "cli" でない場合、
Win32ServiceException がスローされます。
参考
- win32_start_service_ctrl_dispatcher
- win32_get_last_control_message
- win32_set_service_exit_mode
- win32_set_service_exit_code
- Win32Service サービスステータス定数