win32_set_service_status

サービスの状態を更新する

説明

void win32_set_service_status(int $status, int $checkpoint = 0)

SCM に、実行中のサービスの現在の状態を通知します。 この関数のコールは、現在実行中のサービスについてのみ有効です。

警告

バージョン 0.2.0 以降は、この関数は "cli" SAPI でのみ動作します。 他の SAPI では、この関数は無効になっています。

パラメータ

status

以下のステータスコードのうちのひとつ。 WIN32_SERVICE_RUNNINGWIN32_SERVICE_STOPPEDWIN32_SERVICE_STOP_PENDINGWIN32_SERVICE_START_PENDINGWIN32_SERVICE_CONTINUE_PENDINGWIN32_SERVICE_PAUSE_PENDINGWIN32_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 がスローされます。

変更履歴

バージョン 説明
PECL win32service 1.0.0 引数に不正な値があった場合、 ValueError をスローするようになりました。 これより前のバージョンでは、false を返していました。
PECL win32service 1.0.0 エラー時に Win32ServiceException をスローするようになりました。 これより前のバージョンでは、 Win32 エラーコード を返していました。
PECL win32service 1.0.0 戻り値の型が void になりました。 これより前のバージョンでは、mixed でした。
PECL win32service 0.2.0 この関数は、"cli" SAPI でのみ動作するようになりました。

参考