setupapi/tests: Use RegQueryValueEx so that tests run on Win XP.

Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Huw Davies 2015-10-14 12:45:14 +01:00 committed by Alexandre Julliard
parent b95027f048
commit 45c987d962
1 changed files with 12 additions and 3 deletions

View File

@ -732,7 +732,8 @@ static void check_dirid(int dirid, LPCSTR expected)
char buffer[sizeof(dirid_inf)+11];
char path[MAX_PATH], actual[MAX_PATH];
LONG ret;
DWORD size;
DWORD size, type;
HKEY key;
sprintf(buffer, dirid_inf, dirid);
@ -742,8 +743,16 @@ static void check_dirid(int dirid, LPCSTR expected)
run_cmdline("DefaultInstall", 128, path);
size = sizeof(actual);
ret = RegGetValueA(HKEY_CURRENT_USER, "Software\\Wine\\setupapitest", "dirid",
RRF_RT_REG_SZ|RRF_ZEROONFAILURE, NULL, &actual, &size);
actual[0] = '\0';
ret = RegOpenKeyA(HKEY_CURRENT_USER, "Software\\Wine\\setupapitest", &key);
if (ret == ERROR_SUCCESS)
{
ret = RegQueryValueExA(key, "dirid", NULL, &type, (BYTE*)&actual, &size);
RegCloseKey(key);
if (type != REG_SZ)
ret = ERROR_FILE_NOT_FOUND;
}
ok(ret == ERROR_SUCCESS, "Failed getting value for dirid %i, err=%d\n", dirid, ret);
ok(!strcmp(actual, expected), "Expected path for dirid %i was \"%s\", got \"%s\"\n", dirid, expected, actual);