[ros-dev] RE: [ros-diffs] [hpoussin] 20456:
Forward ChangeServiceConfig2W call toservices.exe
Royce Mitchell III
royce3 at ev1.net
Fri Dec 30 15:50:51 CET 2005
Not only that but the switch statement seems to be lacking breaks.
Casper Hornstrup wrote:
> Missing return in success path.
>
>
>
> Casper
>
>
>
> ------------------------------------------------------------------------
>
> *From:* ros-diffs-bounces at reactos.org
> [mailto:ros-diffs-bounces at reactos.org] *On Behalf Of
> *hpoussin at svn.reactos.org
> *Sent:* 30. december 2005 11:29
> *To:* ros-diffs at reactos.org
> *Subject:* [ros-diffs] [hpoussin] 20456: Forward ChangeServiceConfig2W
> call toservices.exe
>
>
>
>Forward ChangeServiceConfig2W call to services.exe
>
>Modified: trunk/reactos/include/idl/svcctl.idl
>
>Modified: trunk/reactos/lib/advapi32/advapi32.def
>
>Modified: trunk/reactos/lib/advapi32/service/scm.c
>
>Modified: trunk/reactos/subsys/system/services/rpcserver.c
>
> ------------------------------------------------------------------------
>
> *Modified: trunk/reactos/lib/advapi32/service/scm.c*
>
>--- trunk/reactos/lib/advapi32/service/scm.c 2005-12-30 01:41:02 UTC (rev 20455)
>
>+++ trunk/reactos/lib/advapi32/service/scm.c 2005-12-30 10:29:07 UTC (rev 20456)
>
>@@ -78,6 +78,53 @@
>
>
>
>
>
> /**********************************************************************
>
>+ * 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
>
> *
>
> * @implemented
>
>@@ -1553,7 +1600,7 @@
>
> #if 0
>
> DWORD dwError;
>
>
>
>- DPRINT("StartServiceW()\n"*, ScLock*);
>
>+ DPRINT("StartServiceW()\n");
>
>
>
> HandleBind();
>
>
>
>------------------------------------------------------------------------
>
>_______________________________________________
>Ros-dev mailing list
>Ros-dev at reactos.org
>http://www.reactos.org/mailman/listinfo/ros-dev
>
More information about the Ros-dev
mailing list