QueryServiceLockStatus
The QueryServiceLockStatus
function retrieves the lock status of the specified service control manager
database.
BOOL QueryServiceLockStatus(
SC_HANDLE hSCManager, |
// handle of svc.
ctrl. mgr. database |
LPQUERY_SERVICE_LOCK_STATUS lpLockStatus, |
// address of lock
status structure |
DWORD cbBufSize, |
// size of service
configuration buffer |
LPDWORD pcbBytesNeeded |
// address of
variable for bytes needed |
); |
|
Parameters
hSCManager
Identifies
the service control manager database. The OpenSCManager
lpLockStatus
Points to a QUERY_SERVICE_LOCK_STATUS
cbBufSize
Specifies the
size, in bytes, of the buffer pointed to by the lpLockStatus parameter.
pcbBytesNeeded
Points to a
variable that receives the number of bytes needed to return all the lock status
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 may be set by the service control manager. Other error codes may 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 SC_MANAGER_QUERY_LOCK_STATUS access. |
ERROR_INSUFFICIENT_BUFFER |
|
|
There is
more lock status information than would fit into the lpLockStatus
buffer. The number of bytes required to get all the information is returned
in the pcbBytesNeeded parameter. Nothing is written to the lpLockStatus
buffer. |
ERROR_INVALID_HANDLE |
|
|
The
specified handle is invalid. |
Remarks
The QueryServiceLockStatus
function returns a QUERY_SERVICE_LOCK_STATUS structure that indicates
whether the specified database is locked. If the database is locked, the
structure provides the account name of the user that holds the lock and the
length of time that the lock has been held.
A process calls
the LockServiceDatabase
The lpLockStatus
buffer must be large enough to hold the string pointed to by the lpLockOwner
member of the QUERY_SERVICE_LOCK_STATUS structure.
See Also