diff --git a/reactos/lib/advapi32/service/scm.c b/reactos/lib/advapi32/service/scm.c index 6a4e7fa12cc..4846a3f0484 100644 --- a/reactos/lib/advapi32/service/scm.c +++ b/reactos/lib/advapi32/service/scm.c @@ -909,8 +909,17 @@ QueryServiceConfigW( LPDWORD pcbBytesNeeded) { DPRINT1("QueryServiceConfigW is unimplemented\n"); - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return FALSE; + if (lpServiceConfig && cbBufSize >= sizeof(QUERY_SERVICE_CONFIGW)) + { + memset(lpServiceConfig, 0, *pcbBytesNeeded); + return TRUE; + } + else + { + *pcbBytesNeeded = sizeof(QUERY_SERVICE_CONFIGW); + SetLastError(ERROR_INSUFFICIENT_BUFFER); + return FALSE; + } }