|
Overview |
|
|
|
Group |
|
|
|
Quick Info
Windows NT
| Yes
| Win95
| No
| Win32s
| No
| Import Library
| advapi32.lib
| Header File
| winsvc.h
| Unicode
| WinNT
| Platform Notes
| None
|
|
|
QueryServiceConfig
The
QueryServiceConfig function retrieves the configuration parameters of the specified service.
BOOL QueryServiceConfig(
SC_HANDLE hService,
| // handle of service
|
LPQUERY_SERVICE_CONFIG lpServiceConfig,
| // address of service config. structure
|
DWORD cbBufSize,
| // size of service configuration buffer
|
LPDWORD pcbBytesNeeded
| // address of variable for bytes needed
|
);
|
|
Parameters
hService
Identifies the service. This handle is returned by the
OpenService or
CreateService function, and it must have SERVICE_QUERY_CONFIG access.
lpServiceConfig
Points to a
QUERY_SERVICE_CONFIG structure in which the service configuration information is returned.
cbBufSize
Specifies the size, in bytes, of the buffer pointed to by the
lpServiceConfig parameter.
pcbBytesNeeded
Points to a variable that receives the number of bytes needed to return all
the configuration information.
Return Values
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.
Errors
The following error codes can be set by the service control manager. Others
can be set by the registry functions that are called by the service control
manager.
Value
| Meaning
|
ERROR_ACCESS_DENIED
| The specified handle was not opened with SERVICE_QUERY_CONFIG access.
|
ERROR_INSUFFICIENT_BUFFER
| There is more service configuration information than would fit into the lpServiceConfig buffer. The number of bytes required to get all the information is returned
in the pcbBytesNeeded parameter. Nothing is written to the lpServiceConfig buffer.
|
ERROR_INVALID_HANDLE
| The specified handle is invalid.
|
Remarks
The
QueryServiceConfig function returns the service configuration information kept in the registry
for a particular service. This configuration information was first set via the
CreateService function, and may have been updated via the
ChangeServiceConfig function. If the service was running when the configuration information was
last changed, the information returned with the
QueryServiceConfig will not reflect the true configuration of the service that is running.
Instead, it will reflect the configuration of the service when it is run next. Upon
stopping the service, the service control manager database will be updated with
the configuration that is stored in the registry. The DisplayName key is an
exception to this. When the DisplayName key is changed, it takes effect
immediately regardless of whether the service is running.
The
lpServiceConfig buffer must be large enough to hold the strings pointed to by the members of
the
QUERY_SERVICE_CONFIG structure.
See Also
ChangeServiceConfig,
CreateService,
OpenService,
QUERY_SERVICE_CONFIG,
QueryServiceObjectSecurity,
QueryServiceStatus
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database