[advapi32]
authorChristoph von Wittich <christoph_vw@reactos.org>
Sun, 26 May 2013 17:33:39 +0000 (17:33 +0000)
committerChristoph von Wittich <christoph_vw@reactos.org>
Sun, 26 May 2013 17:33:39 +0000 (17:33 +0000)
return the required buffer size in case a temp buffer is used
fixes services tab in msconfig

svn path=/trunk/; revision=59085

reactos/dll/win32/advapi32/service/scm.c

index 92f7169..0e80fc2 100644 (file)
@@ -2123,6 +2123,7 @@ QueryServiceConfig2A(SC_HANDLE hService,
     if (bUseTempBuffer == TRUE)
     {
         TRACE("RQueryServiceConfig2A() returns ERROR_INSUFFICIENT_BUFFER\n");
     if (bUseTempBuffer == TRUE)
     {
         TRACE("RQueryServiceConfig2A() returns ERROR_INSUFFICIENT_BUFFER\n");
+        *pcbBytesNeeded = dwBufferSize;
         SetLastError(ERROR_INSUFFICIENT_BUFFER);
         return FALSE;
     }
         SetLastError(ERROR_INSUFFICIENT_BUFFER);
         return FALSE;
     }
@@ -2240,6 +2241,7 @@ QueryServiceConfig2W(SC_HANDLE hService,
     if (bUseTempBuffer == TRUE)
     {
         TRACE("RQueryServiceConfig2W() returns ERROR_INSUFFICIENT_BUFFER\n");
     if (bUseTempBuffer == TRUE)
     {
         TRACE("RQueryServiceConfig2W() returns ERROR_INSUFFICIENT_BUFFER\n");
+        *pcbBytesNeeded = dwBufferSize;
         SetLastError(ERROR_INSUFFICIENT_BUFFER);
         return FALSE;
     }
         SetLastError(ERROR_INSUFFICIENT_BUFFER);
         return FALSE;
     }