Hack the declaration of RQueryServiceConfigA. This hack has already been applied...
authorEric Kohl <eric.kohl@reactos.org>
Sun, 24 Aug 2008 18:08:17 +0000 (18:08 +0000)
committerEric Kohl <eric.kohl@reactos.org>
Sun, 24 Aug 2008 18:08:17 +0000 (18:08 +0000)
Based on patches from Bug #3669 by bugboy <martinmnet@hotmail.com>.

svn path=/trunk/; revision=35604

reactos/base/system/services/rpcserver.c
reactos/dll/win32/advapi32/service/scm.c
reactos/include/reactos/idl/svcctl.idl

index 92be3aa..77baac1 100644 (file)
@@ -2475,7 +2475,7 @@ DWORD ROpenServiceA(
 DWORD RQueryServiceConfigA(
     handle_t BindingHandle,
     SC_RPC_HANDLE hService,
-    LPQUERY_SERVICE_CONFIGA lpServiceConfig,
+    LPBYTE lpBuf, //LPQUERY_SERVICE_CONFIGA lpServiceConfig,
     DWORD cbBufSize,
     LPBOUNDED_DWORD_8K pcbBytesNeeded)
 {
index 61105fb..8e93b16 100644 (file)
@@ -1461,7 +1461,7 @@ QueryServiceConfigA(SC_HANDLE hService,
     /* Call to services.exe using RPC */
     dwError = RQueryServiceConfigA(BindingHandle,
                                    (SC_RPC_HANDLE)hService,
-                                   lpServiceConfig,
+                                   (LPBYTE)lpServiceConfig,
                                    cbBufSize,
                                    pcbBytesNeeded);
     if (dwError != ERROR_SUCCESS)
index 761ecc1..2f737a5 100644 (file)
@@ -578,7 +578,8 @@ interface svcctl
     DWORD RQueryServiceConfigA(
         [in] handle_t BindingHandle,
         [in] SC_RPC_HANDLE hService,
-        [out] LPQUERY_SERVICE_CONFIGA lpServiceConfig,
+        [out, unique, size_is(cbBufSize)] LPBYTE lpServiceConfig,
+        /* FIXME: should be [out] LPQUERY_SERVICE_CONFIGA lpServiceConfig, */
         [in, range(0, 1024*8)] DWORD cbBufSize,
         [out] LPBOUNDED_DWORD_8K pcbBytesNeeded);