mirror of
https://github.com/reactos/reactos.git
synced 2024-09-28 21:44:31 +00:00
[NET] Properly check return value of EnumServicesStatusW on first call
This commit is contained in:
parent
5aafeb473f
commit
6bf64780e4
|
@ -23,6 +23,7 @@ EnumerateRunningServices(VOID)
|
||||||
INT i;
|
INT i;
|
||||||
INT nError = 0;
|
INT nError = 0;
|
||||||
DWORD dwError = ERROR_SUCCESS;
|
DWORD dwError = ERROR_SUCCESS;
|
||||||
|
BOOL ret;
|
||||||
|
|
||||||
hManager = OpenSCManagerW(NULL,
|
hManager = OpenSCManagerW(NULL,
|
||||||
SERVICES_ACTIVE_DATABASE,
|
SERVICES_ACTIVE_DATABASE,
|
||||||
|
@ -34,14 +35,22 @@ EnumerateRunningServices(VOID)
|
||||||
goto done;
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
||||||
EnumServicesStatusW(hManager,
|
ret = EnumServicesStatusW(hManager,
|
||||||
SERVICE_WIN32,
|
SERVICE_WIN32,
|
||||||
SERVICE_ACTIVE,
|
SERVICE_ACTIVE,
|
||||||
NULL,
|
NULL,
|
||||||
0,
|
0,
|
||||||
&dwBufferSize,
|
&dwBufferSize,
|
||||||
&dwServiceCount,
|
&dwServiceCount,
|
||||||
&dwResumeHandle);
|
&dwResumeHandle);
|
||||||
|
if (ret)
|
||||||
|
{
|
||||||
|
/* Nothing to enumerate ?! */
|
||||||
|
goto done;
|
||||||
|
}
|
||||||
|
dwError = GetLastError();
|
||||||
|
if (dwError != ERROR_INSUFFICIENT_BUFFER)
|
||||||
|
goto done;
|
||||||
|
|
||||||
if (dwBufferSize != 0)
|
if (dwBufferSize != 0)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue