Поделиться через


Функция QueryServiceStatus (winsvc.h)

Извлекает текущее состояние указанной службы.

Эта функция заменена функцией QueryServiceStatusEx . QueryServiceStatusEx возвращает те же сведения, что и QueryServiceStatus , с добавлением идентификатора процесса и дополнительных сведений для службы.

Синтаксис

BOOL QueryServiceStatus(
  [in]  SC_HANDLE        hService,
  [out] LPSERVICE_STATUS lpServiceStatus
);

Параметры

[in] hService

Дескриптор службы. Этот дескриптор возвращается функцией OpenService или CreateService и должен иметь право доступа SERVICE_QUERY_STATUS. Дополнительные сведения см. в разделе Безопасность службы и права доступа.

[out] lpServiceStatus

Указатель на структуру SERVICE_STATUS , получающую сведения о состоянии.

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

Если функция выполняется успешно, возвращается ненулевое значение.

Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Диспетчер управления службами может задать следующие коды ошибок. Другие коды ошибок могут быть заданы функциями реестра, вызываемыми диспетчером управления службами.

Код возврата Описание
ERROR_ACCESS_DENIED
Дескриптор не имеет права доступа к SERVICE_QUERY_STATUS.
ERROR_INVALID_HANDLE
Дескриптор недействителен.

Комментарии

Функция QueryServiceStatus возвращает последние сведения о состоянии службы, сообщаемые диспетчеру управления службами. Если служба только что изменила свое состояние, возможно, она еще не обновила диспетчер управления службами.

Требования

   
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header winsvc.h (включая Windows.h)
Библиотека Advapi32.lib
DLL Advapi32.dll

См. также раздел

ControlService

CreateService

OpenService

QueryServiceStatusEx

SERVICE_STATUS

Функции службы

Запуск службы

SetServiceStatus