mirror of
https://github.com/reactos/reactos.git
synced 2024-08-07 19:58:21 +00:00
Forward QueryServiceLockStatusA/W to services.exe.
svn path=/trunk/; revision=20512
This commit is contained in:
parent
e0d9018bb4
commit
76f75c9351
|
@ -1665,38 +1665,84 @@ QueryServiceConfig2W(SC_HANDLE hService,
|
||||||
/**********************************************************************
|
/**********************************************************************
|
||||||
* QueryServiceLockStatusA
|
* QueryServiceLockStatusA
|
||||||
*
|
*
|
||||||
* @unimplemented
|
* @implemented
|
||||||
*/
|
*/
|
||||||
BOOL
|
BOOL STDCALL
|
||||||
STDCALL
|
QueryServiceLockStatusA(SC_HANDLE hSCManager,
|
||||||
QueryServiceLockStatusA(
|
LPQUERY_SERVICE_LOCK_STATUSA lpLockStatus,
|
||||||
SC_HANDLE hSCManager,
|
DWORD cbBufSize,
|
||||||
LPQUERY_SERVICE_LOCK_STATUSA lpLockStatus,
|
LPDWORD pcbBytesNeeded)
|
||||||
DWORD cbBufSize,
|
|
||||||
LPDWORD pcbBytesNeeded)
|
|
||||||
{
|
{
|
||||||
DPRINT1("QueryServiceLockStatusA is unimplemented\n");
|
DWORD dwError;
|
||||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
||||||
return FALSE;
|
DPRINT("QueryServiceLockStatusA() called\n");
|
||||||
|
|
||||||
|
HandleBind();
|
||||||
|
|
||||||
|
/* Call to services.exe using RPC */
|
||||||
|
dwError = ScmrQueryServiceLockStatusA(BindingHandle,
|
||||||
|
(unsigned int)hSCManager,
|
||||||
|
(unsigned char *)lpLockStatus,
|
||||||
|
cbBufSize,
|
||||||
|
pcbBytesNeeded);
|
||||||
|
if (dwError != ERROR_SUCCESS)
|
||||||
|
{
|
||||||
|
DPRINT("ScmrQueryServiceLockStatusA() failed (Error %lu)\n", dwError);
|
||||||
|
SetLastError(dwError);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (lpLockStatus->lpLockOwner != NULL)
|
||||||
|
{
|
||||||
|
lpLockStatus->lpLockOwner =
|
||||||
|
(LPSTR)((UINT_PTR)lpLockStatus + (UINT_PTR)lpLockStatus->lpLockOwner);
|
||||||
|
}
|
||||||
|
|
||||||
|
DPRINT("QueryServiceLockStatusA() done\n");
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**********************************************************************
|
/**********************************************************************
|
||||||
* QueryServiceLockStatusW
|
* QueryServiceLockStatusW
|
||||||
*
|
*
|
||||||
* @unimplemented
|
* @implemented
|
||||||
*/
|
*/
|
||||||
BOOL
|
BOOL STDCALL
|
||||||
STDCALL
|
QueryServiceLockStatusW(SC_HANDLE hSCManager,
|
||||||
QueryServiceLockStatusW(
|
LPQUERY_SERVICE_LOCK_STATUSW lpLockStatus,
|
||||||
SC_HANDLE hSCManager,
|
DWORD cbBufSize,
|
||||||
LPQUERY_SERVICE_LOCK_STATUSW lpLockStatus,
|
LPDWORD pcbBytesNeeded)
|
||||||
DWORD cbBufSize,
|
|
||||||
LPDWORD pcbBytesNeeded)
|
|
||||||
{
|
{
|
||||||
DPRINT1("QueryServiceLockStatusW is unimplemented\n");
|
DWORD dwError;
|
||||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
||||||
return FALSE;
|
DPRINT("QueryServiceLockStatusW() called\n");
|
||||||
|
|
||||||
|
HandleBind();
|
||||||
|
|
||||||
|
/* Call to services.exe using RPC */
|
||||||
|
dwError = ScmrQueryServiceLockStatusW(BindingHandle,
|
||||||
|
(unsigned int)hSCManager,
|
||||||
|
(unsigned char *)lpLockStatus,
|
||||||
|
cbBufSize,
|
||||||
|
pcbBytesNeeded);
|
||||||
|
if (dwError != ERROR_SUCCESS)
|
||||||
|
{
|
||||||
|
DPRINT("ScmrQueryServiceLockStatusW() failed (Error %lu)\n", dwError);
|
||||||
|
SetLastError(dwError);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (lpLockStatus->lpLockOwner != NULL)
|
||||||
|
{
|
||||||
|
lpLockStatus->lpLockOwner =
|
||||||
|
(LPWSTR)((UINT_PTR)lpLockStatus + (UINT_PTR)lpLockStatus->lpLockOwner);
|
||||||
|
}
|
||||||
|
|
||||||
|
DPRINT("QueryServiceLockStatusW() done\n");
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue