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

# win32_query_service_status

(PECL win32service >=0.1.0)

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

### 説明

function win32_query_service_status(string `$servicename`, string `$machine` = `null`): array

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

### パラメータ

`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 でした。

### 参考

- Win32Service 定義済み定数

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open