advapi32/tests: Fix some service test failures on NT4 and Win64.
This commit is contained in:
parent
540fe92842
commit
fc26627cdc
|
@ -961,7 +961,7 @@ static void test_enum_svc(void)
|
||||||
SC_HANDLE scm_handle;
|
SC_HANDLE scm_handle;
|
||||||
BOOL ret;
|
BOOL ret;
|
||||||
DWORD bufsize, needed, returned, resume;
|
DWORD bufsize, needed, returned, resume;
|
||||||
DWORD tempneeded, tempreturned;
|
DWORD tempneeded, tempreturned, missing;
|
||||||
DWORD servicecountactive, servicecountinactive;
|
DWORD servicecountactive, servicecountinactive;
|
||||||
ENUM_SERVICE_STATUS *services;
|
ENUM_SERVICE_STATUS *services;
|
||||||
ENUM_SERVICE_STATUS_PROCESS *exservices;
|
ENUM_SERVICE_STATUS_PROCESS *exservices;
|
||||||
|
@ -1003,7 +1003,8 @@ static void test_enum_svc(void)
|
||||||
SetLastError(0xdeadbeef);
|
SetLastError(0xdeadbeef);
|
||||||
ret = EnumServicesStatusA(scm_handle, 0, 0, NULL, 0, &needed, NULL, NULL);
|
ret = EnumServicesStatusA(scm_handle, 0, 0, NULL, 0, &needed, NULL, NULL);
|
||||||
ok(!ret, "Expected failure\n");
|
ok(!ret, "Expected failure\n");
|
||||||
ok(needed == 0xdeadbeef, "Expected no change to the needed buffer variable\n");
|
ok(needed == 0xdeadbeef || broken(needed != 0xdeadbeef), /* nt4 */
|
||||||
|
"Expected no change to the needed buffer variable\n");
|
||||||
todo_wine
|
todo_wine
|
||||||
ok(GetLastError() == ERROR_INVALID_ADDRESS ||
|
ok(GetLastError() == ERROR_INVALID_ADDRESS ||
|
||||||
GetLastError() == ERROR_INVALID_PARAMETER /* NT4 */,
|
GetLastError() == ERROR_INVALID_PARAMETER /* NT4 */,
|
||||||
|
@ -1017,7 +1018,8 @@ static void test_enum_svc(void)
|
||||||
ok(!ret, "Expected failure\n");
|
ok(!ret, "Expected failure\n");
|
||||||
todo_wine
|
todo_wine
|
||||||
{
|
{
|
||||||
ok(needed == 0, "Expected needed buffer size to be set to 0, got %d\n", needed);
|
ok(needed == 0 || broken(needed != 0), /* nt4 */
|
||||||
|
"Expected needed buffer size to be set to 0, got %d\n", needed);
|
||||||
ok(returned == 0, "Expected number of services to be set to 0, got %d\n", returned);
|
ok(returned == 0, "Expected number of services to be set to 0, got %d\n", returned);
|
||||||
ok(GetLastError() == ERROR_INVALID_PARAMETER,
|
ok(GetLastError() == ERROR_INVALID_PARAMETER,
|
||||||
"Expected ERROR_INVALID_PARAMETER, got %d\n", GetLastError());
|
"Expected ERROR_INVALID_PARAMETER, got %d\n", GetLastError());
|
||||||
|
@ -1031,7 +1033,8 @@ static void test_enum_svc(void)
|
||||||
ok(!ret, "Expected failure\n");
|
ok(!ret, "Expected failure\n");
|
||||||
todo_wine
|
todo_wine
|
||||||
{
|
{
|
||||||
ok(needed == 0, "Expected needed buffer size to be set to 0, got %d\n", needed);
|
ok(needed == 0 || broken(needed != 0), /* nt4 */
|
||||||
|
"Expected needed buffer size to be set to 0, got %d\n", needed);
|
||||||
ok(returned == 0, "Expected number of services to be set to 0, got %d\n", returned);
|
ok(returned == 0, "Expected number of services to be set to 0, got %d\n", returned);
|
||||||
ok(GetLastError() == ERROR_INVALID_PARAMETER,
|
ok(GetLastError() == ERROR_INVALID_PARAMETER,
|
||||||
"Expected ERROR_INVALID_PARAMETER, got %d\n", GetLastError());
|
"Expected ERROR_INVALID_PARAMETER, got %d\n", GetLastError());
|
||||||
|
@ -1046,7 +1049,8 @@ static void test_enum_svc(void)
|
||||||
ok(!ret, "Expected failure\n");
|
ok(!ret, "Expected failure\n");
|
||||||
todo_wine
|
todo_wine
|
||||||
{
|
{
|
||||||
ok(needed == 0, "Expected needed buffer size to be set to 0, got %d\n", needed);
|
ok(needed == 0 || broken(needed != 0), /* nt4 */
|
||||||
|
"Expected needed buffer size to be set to 0, got %d\n", needed);
|
||||||
ok(returned == 0, "Expected number of services to be set to 0, got %d\n", returned);
|
ok(returned == 0, "Expected number of services to be set to 0, got %d\n", returned);
|
||||||
ok(GetLastError() == ERROR_INVALID_PARAMETER,
|
ok(GetLastError() == ERROR_INVALID_PARAMETER,
|
||||||
"Expected ERROR_INVALID_PARAMETER, got %d\n", GetLastError());
|
"Expected ERROR_INVALID_PARAMETER, got %d\n", GetLastError());
|
||||||
|
@ -1061,7 +1065,8 @@ static void test_enum_svc(void)
|
||||||
ok(!ret, "Expected failure\n");
|
ok(!ret, "Expected failure\n");
|
||||||
todo_wine
|
todo_wine
|
||||||
{
|
{
|
||||||
ok(needed == 0, "Expected needed buffer size to be set to 0, got %d\n", needed);
|
ok(needed == 0 || broken(needed != 0), /* nt4 */
|
||||||
|
"Expected needed buffer size to be set to 0, got %d\n", needed);
|
||||||
ok(returned == 0, "Expected number of services to be set to 0, got %d\n", returned);
|
ok(returned == 0, "Expected number of services to be set to 0, got %d\n", returned);
|
||||||
}
|
}
|
||||||
ok(GetLastError() == ERROR_ACCESS_DENIED,
|
ok(GetLastError() == ERROR_ACCESS_DENIED,
|
||||||
|
@ -1102,10 +1107,6 @@ static void test_enum_svc(void)
|
||||||
ok(ret, "Expected success\n");
|
ok(ret, "Expected success\n");
|
||||||
ok(needed == 0, "Expected needed buffer to be 0 as we are done\n");
|
ok(needed == 0, "Expected needed buffer to be 0 as we are done\n");
|
||||||
ok(returned != 0xdeadbeef && returned > 0, "Expected some returned services\n");
|
ok(returned != 0xdeadbeef && returned > 0, "Expected some returned services\n");
|
||||||
ok(GetLastError() == ERROR_SUCCESS /* W2K3 */ ||
|
|
||||||
GetLastError() == 0xdeadbeef /* NT4, XP and Vista */ ||
|
|
||||||
GetLastError() == ERROR_IO_PENDING /* W2K */,
|
|
||||||
"Unexpected last error %d\n", GetLastError());
|
|
||||||
}
|
}
|
||||||
HeapFree(GetProcessHeap(), 0, services);
|
HeapFree(GetProcessHeap(), 0, services);
|
||||||
|
|
||||||
|
@ -1113,8 +1114,8 @@ static void test_enum_svc(void)
|
||||||
tempreturned = returned;
|
tempreturned = returned;
|
||||||
|
|
||||||
/* Allocate less than the needed bytes and don't specify a resume handle */
|
/* Allocate less than the needed bytes and don't specify a resume handle */
|
||||||
services = HeapAlloc(GetProcessHeap(), 0, tempneeded - 1);
|
services = HeapAlloc(GetProcessHeap(), 0, tempneeded);
|
||||||
bufsize = tempneeded - 1;
|
bufsize = (tempreturned - 1) * sizeof(ENUM_SERVICE_STATUS);
|
||||||
needed = 0xdeadbeef;
|
needed = 0xdeadbeef;
|
||||||
returned = 0xdeadbeef;
|
returned = 0xdeadbeef;
|
||||||
SetLastError(0xdeadbeef);
|
SetLastError(0xdeadbeef);
|
||||||
|
@ -1124,15 +1125,13 @@ static void test_enum_svc(void)
|
||||||
todo_wine
|
todo_wine
|
||||||
{
|
{
|
||||||
ok(needed != 0xdeadbeef && needed > 0, "Expected the needed buffer size for this one service\n");
|
ok(needed != 0xdeadbeef && needed > 0, "Expected the needed buffer size for this one service\n");
|
||||||
ok(returned == (tempreturned - 1), "Expected one service less to be returned\n");
|
ok(returned < tempreturned, "Expected fewer services to be returned\n");
|
||||||
ok(GetLastError() == ERROR_MORE_DATA,
|
ok(GetLastError() == ERROR_MORE_DATA,
|
||||||
"Expected ERROR_MORE_DATA, got %d\n", GetLastError());
|
"Expected ERROR_MORE_DATA, got %d\n", GetLastError());
|
||||||
}
|
}
|
||||||
HeapFree(GetProcessHeap(), 0, services);
|
|
||||||
|
|
||||||
/* Allocate less than the needed bytes, this time with a correct resume handle */
|
/* Allocate less than the needed bytes, this time with a correct resume handle */
|
||||||
services = HeapAlloc(GetProcessHeap(), 0, tempneeded - 1);
|
bufsize = (tempreturned - 1) * sizeof(ENUM_SERVICE_STATUS);
|
||||||
bufsize = tempneeded - 1;
|
|
||||||
needed = 0xdeadbeef;
|
needed = 0xdeadbeef;
|
||||||
returned = 0xdeadbeef;
|
returned = 0xdeadbeef;
|
||||||
resume = 0;
|
resume = 0;
|
||||||
|
@ -1143,15 +1142,14 @@ static void test_enum_svc(void)
|
||||||
todo_wine
|
todo_wine
|
||||||
{
|
{
|
||||||
ok(needed != 0xdeadbeef && needed > 0, "Expected the needed buffer size for this one service\n");
|
ok(needed != 0xdeadbeef && needed > 0, "Expected the needed buffer size for this one service\n");
|
||||||
ok(returned == (tempreturned - 1), "Expected one service less to be returned\n");
|
ok(returned < tempreturned, "Expected fewer services to be returned\n");
|
||||||
ok(resume, "Expected a resume handle\n");
|
ok(resume, "Expected a resume handle\n");
|
||||||
ok(GetLastError() == ERROR_MORE_DATA,
|
ok(GetLastError() == ERROR_MORE_DATA,
|
||||||
"Expected ERROR_MORE_DATA, got %d\n", GetLastError());
|
"Expected ERROR_MORE_DATA, got %d\n", GetLastError());
|
||||||
}
|
}
|
||||||
HeapFree(GetProcessHeap(), 0, services);
|
|
||||||
|
|
||||||
/* Fetch that last service but pass a bigger buffer size */
|
/* Fetch the missing services but pass a bigger buffer size */
|
||||||
services = HeapAlloc(GetProcessHeap(), 0, tempneeded);
|
missing = tempreturned - returned;
|
||||||
bufsize = tempneeded;
|
bufsize = tempneeded;
|
||||||
needed = 0xdeadbeef;
|
needed = 0xdeadbeef;
|
||||||
returned = 0xdeadbeef;
|
returned = 0xdeadbeef;
|
||||||
|
@ -1162,11 +1160,7 @@ static void test_enum_svc(void)
|
||||||
{
|
{
|
||||||
ok(ret, "Expected success\n");
|
ok(ret, "Expected success\n");
|
||||||
ok(needed == 0, "Expected needed buffer to be 0 as we are done\n");
|
ok(needed == 0, "Expected needed buffer to be 0 as we are done\n");
|
||||||
ok(returned == 1, "Expected only 1 service to be returned\n");
|
ok(returned == missing, "Expected %u services to be returned\n", missing);
|
||||||
ok(GetLastError() == ERROR_SUCCESS /* W2K3 */ ||
|
|
||||||
GetLastError() == 0xdeadbeef /* NT4, XP and Vista */ ||
|
|
||||||
GetLastError() == ERROR_IO_PENDING /* W2K */,
|
|
||||||
"Unexpected last error %d\n", GetLastError());
|
|
||||||
}
|
}
|
||||||
ok(resume == 0, "Expected the resume handle to be 0\n");
|
ok(resume == 0, "Expected the resume handle to be 0\n");
|
||||||
HeapFree(GetProcessHeap(), 0, services);
|
HeapFree(GetProcessHeap(), 0, services);
|
||||||
|
@ -1251,8 +1245,8 @@ static void test_enum_svc(void)
|
||||||
|
|
||||||
todo_wine
|
todo_wine
|
||||||
{
|
{
|
||||||
ok(servicecountactive == 0, "Active services mismatch\n");
|
ok(servicecountactive == 0, "Active services mismatch %u\n", servicecountactive);
|
||||||
ok(servicecountinactive == 0, "Inactive services mismatch\n");
|
ok(servicecountinactive == 0, "Inactive services mismatch %u\n", servicecountinactive);
|
||||||
}
|
}
|
||||||
|
|
||||||
CloseServiceHandle(scm_handle);
|
CloseServiceHandle(scm_handle);
|
||||||
|
@ -1292,7 +1286,8 @@ static void test_enum_svc(void)
|
||||||
SetLastError(0xdeadbeef);
|
SetLastError(0xdeadbeef);
|
||||||
ret = pEnumServicesStatusExA(scm_handle, 0, 0, 0, NULL, 0, &needed, NULL, NULL, NULL);
|
ret = pEnumServicesStatusExA(scm_handle, 0, 0, 0, NULL, 0, &needed, NULL, NULL, NULL);
|
||||||
ok(!ret, "Expected failure\n");
|
ok(!ret, "Expected failure\n");
|
||||||
ok(needed == 0xdeadbeef, "Expected no change to the needed buffer variable\n");
|
ok(needed == 0xdeadbeef || broken(needed != 0xdeadbeef), /* nt4 */
|
||||||
|
"Expected no change to the needed buffer variable\n");
|
||||||
todo_wine
|
todo_wine
|
||||||
ok(GetLastError() == ERROR_INVALID_ADDRESS ||
|
ok(GetLastError() == ERROR_INVALID_ADDRESS ||
|
||||||
GetLastError() == ERROR_INVALID_PARAMETER /* NT4 */,
|
GetLastError() == ERROR_INVALID_PARAMETER /* NT4 */,
|
||||||
|
@ -1320,7 +1315,8 @@ static void test_enum_svc(void)
|
||||||
ok(returned == 0, "Expected number of service to be set to 0, got %d\n", returned);
|
ok(returned == 0, "Expected number of service to be set to 0, got %d\n", returned);
|
||||||
todo_wine
|
todo_wine
|
||||||
{
|
{
|
||||||
ok(needed == 0, "Expected needed buffer size to be set to 0, got %d\n", needed);
|
ok(needed == 0 || broken(needed != 0), /* nt4 */
|
||||||
|
"Expected needed buffer size to be set to 0, got %d\n", needed);
|
||||||
ok(GetLastError() == ERROR_INVALID_PARAMETER,
|
ok(GetLastError() == ERROR_INVALID_PARAMETER,
|
||||||
"Expected ERROR_INVALID_PARAMETER, got %d\n", GetLastError());
|
"Expected ERROR_INVALID_PARAMETER, got %d\n", GetLastError());
|
||||||
}
|
}
|
||||||
|
@ -1335,7 +1331,8 @@ static void test_enum_svc(void)
|
||||||
ok(returned == 0, "Expected number of service to be set to 0, got %d\n", returned);
|
ok(returned == 0, "Expected number of service to be set to 0, got %d\n", returned);
|
||||||
todo_wine
|
todo_wine
|
||||||
{
|
{
|
||||||
ok(needed == 0, "Expected needed buffer size to be set to 0, got %d\n", needed);
|
ok(needed == 0 || broken(needed != 0), /* nt4 */
|
||||||
|
"Expected needed buffer size to be set to 0, got %d\n", needed);
|
||||||
ok(GetLastError() == ERROR_INVALID_PARAMETER,
|
ok(GetLastError() == ERROR_INVALID_PARAMETER,
|
||||||
"Expected ERROR_INVALID_PARAMETER, got %d\n", GetLastError());
|
"Expected ERROR_INVALID_PARAMETER, got %d\n", GetLastError());
|
||||||
}
|
}
|
||||||
|
@ -1350,7 +1347,8 @@ static void test_enum_svc(void)
|
||||||
ok(returned == 0, "Expected number of service to be set to 0, got %d\n", returned);
|
ok(returned == 0, "Expected number of service to be set to 0, got %d\n", returned);
|
||||||
todo_wine
|
todo_wine
|
||||||
{
|
{
|
||||||
ok(needed == 0, "Expected needed buffer size to be set to 0, got %d\n", needed);
|
ok(needed == 0 || broken(needed != 0), /* nt4 */
|
||||||
|
"Expected needed buffer size to be set to 0, got %d\n", needed);
|
||||||
ok(GetLastError() == ERROR_INVALID_PARAMETER,
|
ok(GetLastError() == ERROR_INVALID_PARAMETER,
|
||||||
"Expected ERROR_INVALID_PARAMETER, got %d\n", GetLastError());
|
"Expected ERROR_INVALID_PARAMETER, got %d\n", GetLastError());
|
||||||
}
|
}
|
||||||
|
@ -1365,7 +1363,8 @@ static void test_enum_svc(void)
|
||||||
ok(returned == 0, "Expected number of service to be set to 0, got %d\n", returned);
|
ok(returned == 0, "Expected number of service to be set to 0, got %d\n", returned);
|
||||||
todo_wine
|
todo_wine
|
||||||
{
|
{
|
||||||
ok(needed == 0, "Expected needed buffer size to be set to 0, got %d\n", needed);
|
ok(needed == 0 || broken(needed != 0), /* nt4 */
|
||||||
|
"Expected needed buffer size to be set to 0, got %d\n", needed);
|
||||||
ok(GetLastError() == ERROR_INVALID_PARAMETER,
|
ok(GetLastError() == ERROR_INVALID_PARAMETER,
|
||||||
"Expected ERROR_INVALID_PARAMETER, got %d\n", GetLastError());
|
"Expected ERROR_INVALID_PARAMETER, got %d\n", GetLastError());
|
||||||
}
|
}
|
||||||
|
@ -1378,7 +1377,8 @@ static void test_enum_svc(void)
|
||||||
NULL, 0, &needed, &returned, NULL, NULL);
|
NULL, 0, &needed, &returned, NULL, NULL);
|
||||||
ok(!ret, "Expected failure\n");
|
ok(!ret, "Expected failure\n");
|
||||||
todo_wine
|
todo_wine
|
||||||
ok(needed == 0, "Expected needed buffer size to be set to 0, got %d\n", needed);
|
ok(needed == 0 || broken(needed != 0), /* nt4 */
|
||||||
|
"Expected needed buffer size to be set to 0, got %d\n", needed);
|
||||||
ok(returned == 0, "Expected number of service to be set to 0, got %d\n", returned);
|
ok(returned == 0, "Expected number of service to be set to 0, got %d\n", returned);
|
||||||
ok(GetLastError() == ERROR_ACCESS_DENIED,
|
ok(GetLastError() == ERROR_ACCESS_DENIED,
|
||||||
"Expected ERROR_ACCESS_DENIED, got %d\n", GetLastError());
|
"Expected ERROR_ACCESS_DENIED, got %d\n", GetLastError());
|
||||||
|
@ -1393,7 +1393,8 @@ static void test_enum_svc(void)
|
||||||
NULL, 0, &needed, &returned, NULL, "deadbeef_group");
|
NULL, 0, &needed, &returned, NULL, "deadbeef_group");
|
||||||
ok(!ret, "Expected failure\n");
|
ok(!ret, "Expected failure\n");
|
||||||
todo_wine
|
todo_wine
|
||||||
ok(needed == 0, "Expected needed buffer size to be set to 0, got %d\n", needed);
|
ok(needed == 0 || broken(needed != 0), /* nt4 */
|
||||||
|
"Expected needed buffer size to be set to 0, got %d\n", needed);
|
||||||
ok(returned == 0, "Expected number of service to be set to 0, got %d\n", returned);
|
ok(returned == 0, "Expected number of service to be set to 0, got %d\n", returned);
|
||||||
ok(GetLastError() == ERROR_ACCESS_DENIED,
|
ok(GetLastError() == ERROR_ACCESS_DENIED,
|
||||||
"Expected ERROR_ACCESS_DENIED, got %d\n", GetLastError());
|
"Expected ERROR_ACCESS_DENIED, got %d\n", GetLastError());
|
||||||
|
@ -1463,8 +1464,8 @@ static void test_enum_svc(void)
|
||||||
tempreturned = returned;
|
tempreturned = returned;
|
||||||
|
|
||||||
/* Allocate less than the needed bytes and don't specify a resume handle */
|
/* Allocate less than the needed bytes and don't specify a resume handle */
|
||||||
exservices = HeapAlloc(GetProcessHeap(), 0, tempneeded - 1);
|
exservices = HeapAlloc(GetProcessHeap(), 0, tempneeded);
|
||||||
bufsize = tempneeded - 1;
|
bufsize = (tempreturned - 1) * sizeof(ENUM_SERVICE_STATUS);
|
||||||
needed = 0xdeadbeef;
|
needed = 0xdeadbeef;
|
||||||
returned = 0xdeadbeef;
|
returned = 0xdeadbeef;
|
||||||
SetLastError(0xdeadbeef);
|
SetLastError(0xdeadbeef);
|
||||||
|
@ -1474,15 +1475,13 @@ static void test_enum_svc(void)
|
||||||
todo_wine
|
todo_wine
|
||||||
{
|
{
|
||||||
ok(needed != 0xdeadbeef && needed > 0, "Expected the needed buffer size\n");
|
ok(needed != 0xdeadbeef && needed > 0, "Expected the needed buffer size\n");
|
||||||
ok(returned == (tempreturned - 1), "Expected one service less to be returned\n");
|
ok(returned < tempreturned, "Expected fewer services to be returned\n");
|
||||||
ok(GetLastError() == ERROR_MORE_DATA,
|
ok(GetLastError() == ERROR_MORE_DATA,
|
||||||
"Expected ERROR_MORE_DATA, got %d\n", GetLastError());
|
"Expected ERROR_MORE_DATA, got %d\n", GetLastError());
|
||||||
}
|
}
|
||||||
HeapFree(GetProcessHeap(), 0, exservices);
|
|
||||||
|
|
||||||
/* Allocate less than the needed bytes, this time with a correct resume handle */
|
/* Allocate less than the needed bytes, this time with a correct resume handle */
|
||||||
exservices = HeapAlloc(GetProcessHeap(), 0, tempneeded - 1);
|
bufsize = (tempreturned - 1) * sizeof(ENUM_SERVICE_STATUS);
|
||||||
bufsize = tempneeded - 1;
|
|
||||||
needed = 0xdeadbeef;
|
needed = 0xdeadbeef;
|
||||||
returned = 0xdeadbeef;
|
returned = 0xdeadbeef;
|
||||||
resume = 0;
|
resume = 0;
|
||||||
|
@ -1493,15 +1492,14 @@ static void test_enum_svc(void)
|
||||||
todo_wine
|
todo_wine
|
||||||
{
|
{
|
||||||
ok(needed != 0xdeadbeef && needed > 0, "Expected the needed buffer size\n");
|
ok(needed != 0xdeadbeef && needed > 0, "Expected the needed buffer size\n");
|
||||||
ok(returned == (tempreturned - 1), "Expected one service less to be returned\n");
|
ok(returned < tempreturned, "Expected fewer services to be returned\n");
|
||||||
ok(resume, "Expected a resume handle\n");
|
ok(resume, "Expected a resume handle\n");
|
||||||
ok(GetLastError() == ERROR_MORE_DATA,
|
ok(GetLastError() == ERROR_MORE_DATA,
|
||||||
"Expected ERROR_MORE_DATA, got %d\n", GetLastError());
|
"Expected ERROR_MORE_DATA, got %d\n", GetLastError());
|
||||||
}
|
}
|
||||||
HeapFree(GetProcessHeap(), 0, exservices);
|
|
||||||
|
|
||||||
/* Fetch that last service but pass a bigger buffer size */
|
/* Fetch that last service but pass a bigger buffer size */
|
||||||
exservices = HeapAlloc(GetProcessHeap(), 0, tempneeded);
|
missing = tempreturned - returned;
|
||||||
bufsize = tempneeded;
|
bufsize = tempneeded;
|
||||||
needed = 0xdeadbeef;
|
needed = 0xdeadbeef;
|
||||||
returned = 0xdeadbeef;
|
returned = 0xdeadbeef;
|
||||||
|
@ -1512,12 +1510,8 @@ static void test_enum_svc(void)
|
||||||
{
|
{
|
||||||
ok(ret, "Expected success\n");
|
ok(ret, "Expected success\n");
|
||||||
ok(needed == 0, "Expected needed buffer to be 0 as we are done\n");
|
ok(needed == 0, "Expected needed buffer to be 0 as we are done\n");
|
||||||
ok(returned == 1, "Expected only 1 service to be returned\n");
|
|
||||||
ok(GetLastError() == ERROR_SUCCESS /* W2K3 */ ||
|
|
||||||
GetLastError() == 0xdeadbeef /* NT4, XP and Vista */ ||
|
|
||||||
GetLastError() == ERROR_IO_PENDING /* W2K */,
|
|
||||||
"Unexpected last error %d\n", GetLastError());
|
|
||||||
}
|
}
|
||||||
|
ok(returned == missing, "Expected %u services to be returned\n", missing);
|
||||||
ok(resume == 0, "Expected the resume handle to be 0\n");
|
ok(resume == 0, "Expected the resume handle to be 0\n");
|
||||||
HeapFree(GetProcessHeap(), 0, exservices);
|
HeapFree(GetProcessHeap(), 0, exservices);
|
||||||
|
|
||||||
|
@ -1596,7 +1590,8 @@ static void test_enum_svc(void)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* We shouldn't have a process id for inactive services */
|
/* We shouldn't have a process id for inactive services */
|
||||||
ok(status.dwProcessId == 0, "This service shouldn't have an associated process id\n");
|
ok(status.dwProcessId == 0, "Service %s state %u shouldn't have an associated process id\n",
|
||||||
|
exservices[i].lpServiceName, status.dwCurrentState);
|
||||||
|
|
||||||
servicecountinactive--;
|
servicecountinactive--;
|
||||||
}
|
}
|
||||||
|
@ -1604,8 +1599,8 @@ static void test_enum_svc(void)
|
||||||
}
|
}
|
||||||
HeapFree(GetProcessHeap(), 0, exservices);
|
HeapFree(GetProcessHeap(), 0, exservices);
|
||||||
|
|
||||||
ok(servicecountactive == 0, "Active services mismatch\n");
|
ok(servicecountactive == 0, "Active services mismatch %u\n", servicecountactive);
|
||||||
ok(servicecountinactive == 0, "Inactive services mismatch\n");
|
ok(servicecountinactive == 0, "Inactive services mismatch %u\n", servicecountinactive);
|
||||||
|
|
||||||
CloseServiceHandle(scm_handle);
|
CloseServiceHandle(scm_handle);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue