Функция QueryServiceStatus


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

 

Назад в оглавление
На главную страницу
В оглавление справки

Hosted by uCoz