win32_query_service_status

サービスの状態を問い合わせる

説明

array win32_query_service_status(string $servicename, string $machine = ?)

サービスの稼動状況を問い合わせ、情報を配列で返します。

パラメータ

servicename

サービスの短い名前。

machine

オプションのマシン名。指定しなかった場合、ローカルマシンが使用されます。

戻り値

成功した場合に以下の情報を含む配列を返します。

バージョン 1.0.0 より前では、パラメータに問題がある場合は false、失敗した場合は Win32 エラーコード を返します。

ServiceType

dwServiceType Win32Service サービス型のビットマスク を参照ください。

CurrentState

dwCurrentState Win32Service サービスステータス定数 を参照ください。

ControlsAccepted

サービスが許可しているコントロール。 Win32Service サービス制御メッセージが受領されたときのビットマスク を参照ください。

Win32ExitCode

サービスが終了した際にプロセスが返すコード。 この値は終了モードがgracefulでなかった場合、 WIN32_ERROR_SERVICE_SPECIFIC_ERROR と同じです。 Win32Service エラーコード および win32_set_service_exit_mode も参照ください。

ServiceSpecificExitCode

サービスが異常終了した際にイベントログに記録されるコード。 この値は win32_set_service_exit_code で定義された値と同じです。

CheckPoint

サービスが終了する際に、現在のチェックポイント番号を保持します。 SCM はこれをいわゆる心拍のように扱い、反応しなくなったサービスを 検出するために使用します。この値は、WaitHint の値と組み合わせて 用いられます。

WaitHint

サービスが終了する際に、WaitHint を checkpoint の値に設定します。 この処理が終了した時点でサービスの終了処理が 100% 完了したことを示します。 これは、進捗状況のインジケータを実装する際に使用します。

ProcessId

Windows のプロセス ID 。0 の場合、プロセスは実行していません。

ServiceFlags

dwServiceFlags Win32Service サービスフラグ定数 を参照ください。

エラー / 例外

servicename 引数が空の場合、 ValueError がスローされます。

変更履歴

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