Функция 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 | Нет | |
Замечания по платформе | Не имеется |