mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-02 12:23:31 +00:00
Forward ChangeServiceConfig2W call to services.exe
svn path=/trunk/; revision=20456
This commit is contained in:
@@ -324,7 +324,11 @@ cpp_quote("#endif")
|
||||
/* ScmrChangeServiceConfig2A */
|
||||
|
||||
/* Function 37 */
|
||||
/* ScmrChangeServiceConfig2W */
|
||||
DWORD ScmrChangeServiceConfig2W([in] handle_t BindingHandle,
|
||||
[in] SC_HANDLE hService,
|
||||
[in] DWORD dwInfoLevel,
|
||||
[in, size_is(dwInfoSize)] unsigned char *lpInfo,
|
||||
[in] DWORD dwInfoSize);
|
||||
|
||||
/* Function 38 */
|
||||
/* ScmrQueryServiceConfig2A */
|
||||
|
||||
@@ -59,7 +59,7 @@ BuildTrusteeWithSidA@8
|
||||
BuildTrusteeWithSidW@8
|
||||
;CancelOverlappedAccess@4
|
||||
;ChangeServiceConfig2A@12
|
||||
;ChangeServiceConfig2W@12
|
||||
ChangeServiceConfig2W@12
|
||||
ChangeServiceConfigA@44
|
||||
ChangeServiceConfigW@44
|
||||
CheckTokenMembership@12
|
||||
|
||||
@@ -77,6 +77,53 @@ HandleUnbind(VOID)
|
||||
#endif
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* ChangeServiceConfig2W
|
||||
*
|
||||
* @implemented
|
||||
*/
|
||||
BOOL WINAPI
|
||||
ChangeServiceConfig2W(SC_HANDLE hService,
|
||||
DWORD dwInfoLevel,
|
||||
LPVOID lpInfo)
|
||||
{
|
||||
DWORD lpInfoSize;
|
||||
DWORD dwError;
|
||||
|
||||
DPRINT("ChangeServiceConfig2W() called\n");
|
||||
|
||||
/* Determine the length of the lpInfo parameter */
|
||||
switch (dwInfoLevel)
|
||||
{
|
||||
case SERVICE_CONFIG_DESCRIPTION:
|
||||
lpInfoSize = sizeof(SERVICE_DESCRIPTION);
|
||||
case SERVICE_CONFIG_FAILURE_ACTIONS:
|
||||
lpInfoSize = sizeof(SERVICE_FAILURE_ACTIONS);
|
||||
default:
|
||||
DPRINT1("Unknown info level 0x%lx\n", dwInfoLevel);
|
||||
SetLastError(ERROR_INVALID_PARAMETER);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (lpInfo == NULL)
|
||||
return TRUE;
|
||||
|
||||
HandleBind();
|
||||
|
||||
dwError = ScmrChangeServiceConfig2W(BindingHandle,
|
||||
(unsigned int)hService,
|
||||
dwInfoLevel,
|
||||
lpInfo,
|
||||
lpInfoSize);
|
||||
if (dwError != ERROR_SUCCESS)
|
||||
{
|
||||
DPRINT1("ScmrChangeServiceConfig2W() failed (Error %lu)\n", dwError);
|
||||
SetLastError(dwError);
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
* ChangeServiceConfigA
|
||||
*
|
||||
@@ -1553,7 +1600,7 @@ StartServiceW(
|
||||
#if 0
|
||||
DWORD dwError;
|
||||
|
||||
DPRINT("StartServiceW()\n", ScLock);
|
||||
DPRINT("StartServiceW()\n");
|
||||
|
||||
HandleBind();
|
||||
|
||||
|
||||
@@ -2061,7 +2061,16 @@ ScmrGetServiceKeyNameA(handle_t BindingHandle,
|
||||
|
||||
|
||||
/* Function 37 */
|
||||
/* ScmrChangeServiceConfig2W */
|
||||
unsigned long
|
||||
ScmrChangeServiceConfig2W(handle_t BindingHandle,
|
||||
unsigned int hService,
|
||||
unsigned long dwInfoLevel,
|
||||
unsigned char *lpInfo,
|
||||
unsigned long dwInfoSize)
|
||||
{
|
||||
DPRINT1("ScmrChangeServiceConfig2W() is unimplemented\n");
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/* Function 38 */
|
||||
|
||||
Reference in New Issue
Block a user