Функция QueryServiceStatus извлекает текущее состояние указанной службы.
Эта функция была заменена функцией QueryServiceStatusEx. QueryServiceStatusEx возвращает ту же самую информацию, что и возвращаемые значения QueryServiceStatus, с дополнением идентификатора процесса (PID) и дополнительной информации для службы.
Синтаксис
BOOL QueryServiceStatus( SC_HANDLE hService, LPSERVICE_STATUS lpServiceStatus ); |
hService
[in] Дескриптор службы. Этот дескриптор возвращается функцией OpenService или CreateService, и он должен иметь право доступа SERVICE_QUERY_STATUS. Дополнительную информацию смотри в статье Защита службы и права доступа.
lpServiceStatus
[out] Указатель на структуру SERVICE_STATUS, которая получает информацию о статусе.
Если функция завершается успешно, возвращаемое значение является ненулевым.
Если функция завершается ошибкой, возвращаемое значение - нуль. Чтобы получить дополнительную информацию об ошибке, вызовите GetLastError.
Следующие коды ошибки могут быть установлены диспетчером управления службами. Другие коды ошибки могут установиться функциями реестра, которые вызывает диспетчер управления службами.
| Код возврата | Описание |
|---|---|
| ERROR_ACCESS_DENIED | Дескриптор не имеет права доступа SERVICE_QUERY_STATUS. |
| ERROR_INVALID_HANDLE | Дескриптор недействителен. |
Функция QueryServiceStatus возвращает новую информацию о состоянии службы, сообщаемую диспетчеру управления службами. Если служба изменила только ее состояние, тогда она не может пока что обновить данные в диспетчере управления службами. Приложения могут узнать текущее состояние службы, опрашивая службу непосредственно, используя функцию ControlService с управляющим кодом SERVICE_CONTROL_INTERROGATE.
Пример смотри в статье Запуск службы.
Смотри также
Обзор Службы, Функции, используемые службами, ControlService, CreateService, OpenService, QueryServiceStatusEx, SetServiceStatus, SERVICE_STATUS
|
Размещение и совместимость QueryServiceStatus |
||
| К | Windows XP | Да |
| л | Windows 2000 Professional | Да |
| и | Windows NT Workstation | Да |
| е | Windows Me | Нет |
| н | Windows 98 | Нет |
| т | Windows 95 | Нет |
| С | Windows Server 2003 | Да |
| е | Windows 2000 Server | Да |
| р | Windows NT Server | Да |
| в | ||
| е | ||
| р | ||
| Используемая библиотека | Advapi32.lib | |
| Используемая DLL | advapi32.dll | |
| Заголовочный файл | ||
| - объявлено в | Winsvc.h | |
| - включено в | Windows.h | |
| Unicode | Нет | |
| Замечания по платформе | Не имеется | |