Forward ChangeServiceConfig2W call to services.exe

svn path=/trunk/; revision=20456
This commit is contained in:
Hervé Poussineau
2005-12-30 10:29:07 +00:00
parent 7caea251af
commit 3c9ea526e3
4 changed files with 64 additions and 4 deletions
+5 -1
View File
@@ -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 */
+1 -1
View File
@@ -59,7 +59,7 @@ BuildTrusteeWithSidA@8
BuildTrusteeWithSidW@8
;CancelOverlappedAccess@4
;ChangeServiceConfig2A@12
;ChangeServiceConfig2W@12
ChangeServiceConfig2W@12
ChangeServiceConfigA@44
ChangeServiceConfigW@44
CheckTokenMembership@12
+48 -1
View File
@@ -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();
+10 -1
View File
@@ -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 */