Platform SDK: DLLs, Processes, and Threads |
The QueryServiceStatus function retrieves the current status of the specified service.
This function has been superseded by the QueryServiceStatusEx function. QueryServiceStatusEx returns the same information QueryServiceStatus returns, with the addition of the process identifier and additional flags for the service.
BOOL QueryServiceStatus( SC_HANDLE hService, // handle to service LPSERVICE_STATUS lpServiceStatus // service status );
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
The following error codes can be set by the service control manager. Other error codes can be set by the registry functions that are called by the service control manager.
Error code | Meaning |
---|---|
ERROR_ACCESS_DENIED | The specified handle was not opened with SERVICE_QUERY_STATUS access. |
ERROR_INVALID_HANDLE | The specified handle is invalid. |
The QueryServiceStatus function returns the most recent service status information reported to the service control manager. If the service just changed its status, it may not have updated the service control manager yet. Applications can find out the current service status by interrogating the service directly using the ControlService function with the SERVICE_CONTROL_INTERROGATE control code.
Windows NT/2000: Requires Windows NT 3.1 or later.
Header: Declared in Winsvc.h; include Windows.h.
Library: Use Advapi32.lib.
Services Overview, Service Functions, ControlService, CreateService, OpenService, QueryServiceStatusEx, SERVICE_STATUS, SetServiceStatus