win32_query_service_status

(PECL win32service >=0.1.0)

win32_query_service_statusЗапрашивает статус сервиса

Описание

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

Запрашивает текущий статус службы, возвращая массив информации.

Список параметров

servicename

Краткое название службы.

machine

Необязательное имя машины. Если не указано, будет использоваться локальный компьютер.

Возвращаемые значения

Возвращает массив, состоящий из следующей информации в случае успешного выполнения:

До версии 1.0.0 , false если была обнаружена проблема с параметрами или код ошибки Win32 при неудачном завершении работы.

ServiceType

dwServiceType. Смотрите Битовые маски типов службы Win32Service.

CurrentState

dwCurrentState. Смотрите Константы состояния службы Win32Service.

ControlsAccepted

Какие элементы управления службами принимаются службой. Смотрите Битовые маски Win32Service Service Control Message Accepted.

Win32ExitCode

Если служба завершила работу, здесь отображается код возврата из процесса. Это значение равно WIN32_ERROR_SERVICE_SPECIFIC_ERROR, если режим выхода не является плавным. Смотрите коды ошибок Win32Service и win32_set_service_exit_mode()

ServiceSpecificExitCode

Если служба завершила работу, здесь отображается код конкретной службы, зарегистрированный в журнале событий. Это значение равно значению, определённому win32_set_service_exit_code()

CheckPoint

Если служба завершила работу, здесь отображается текущий номер контрольной точки. Это используется SCM как своего рода сердцебиение для обнаружения заклинившего процесса обслуживания. Значение контрольной точки лучше всего интерпретировать вместе со значением WaitHint.

WaitHint

Если служба завершила работу, она установит для WaitHint значение контрольной точки, которое будет указывать на 100% завершение. Это можно использовать для реализации индикатора прогресса.

ProcessId

Идентификатор процесса Windows. Если 0, процесс не запущен.

ServiceFlags

dwServiceFlags. Смотрите Константы флагов службы Win32Service.

Ошибки

Выбрасывается ValueError, если значение параметра servicename не указано.

Список изменений

Версия Описание
PECL win32service 1.0.0 Выбрасывает ValueError в случае неверных данных в параметрах, ранее возвращалось false.
PECL win32service 1.0.0 Выбрасывает Win32ServiceException в случае возникновения ошибки, ранее возвращался Код ошибки Win32.
PECL win32service 1.0.0 Тип возврата теперь array, ранее был mixed.

add a note add a note

User Contributed Notes 1 note

up
1
demers dot alex at gmail dot com
15 years ago
This function will return an array containing the above information as a return value, but if this fails it will return an integer which is a System Error Code. All the System Error Codes can be found here:

http://msdn.microsoft.com/en-us/library/ms681381%28VS.85%29.aspx

In my case, it returned 5, in which I immediately knew why and fixed the issue right away.

In the case of mnemotronic at netscape dot net, here in the documentation notes, it returned 1060 which is:

ERROR_SERVICE_DOES_NOT_EXIST
1060 (0x424)
The specified service does not exist as an installed service.

Again, it should not return FALSE, instead an System Error Code for Windows.
To Top