# win32_query_service_status

(PECL win32service >=0.1.0)

win32_query_service_status — Queries the status of a service

### 说明

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

Queries the current status for a service, returning an array of information.

### 参数

`servicename`

  The short name of the service.

`machine`

  The optional machine name. If omitted, the local machine will be used.

### 返回值

Returns an array consisting of the following information on success

Prior version 1.0.0，参数错误时返回 `false`，或失败时返回一个 Win32 错误码。

`ServiceType`

  The dwServiceType. See Win32Service Service Type Bitmasks.

`CurrentState`

  The dwCurrentState. See Win32Service Service Status Constants.

`ControlsAccepted`

  Which service controls are accepted by the service. See Win32Service Service Control Message Accepted Bitmasks.

`Win32ExitCode`

  If the service exited, the return code from the process. This value is equal to `WIN32_ERROR_SERVICE_SPECIFIC_ERROR` if the exit mode is not gracefuly. See Win32Service error codes and win32_set_service_exit_mode()

`ServiceSpecificExitCode`

  If the service exited with an error condition, the service specific code that is logged in the event log is visible here. This value is equal to the value defined by win32_set_service_exit_code()

`CheckPoint`

  If the service is shutting down, holds the current check point number. This is used by the SCM as a kind of heart-beat to detect a wedged service process. The value of the check point is best interpreted in conjunction with the WaitHint value.

`WaitHint`

  If the service is shutting down it will set WaitHint to a checkpoint value that will indicate 100% completion. This can be used to implement a progress indicator.

`ProcessId`

  The Windows process identifier. If 0, the process is not running.

`ServiceFlags`

  The dwServiceFlags. See Win32Service Service Flag Constants.

### 错误／异常

A ValueError is thrown if the value of `servicename` parameter is empty.

### 更新日志

版本 | 说明
--- | ---
PECL win32service 1.0.0 | Throws a ValueError on invalid data in parameters, previously `false` was returned.
PECL win32service 1.0.0 | Throws a Win32ServiceException on error, previously a Win32 Error Code was returned.
PECL win32service 1.0.0 | The return type is now array, previously it was mixed.

### 参见

- Win32Service Predefined Constants

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