From a22b2c5686829d2f60beb4f820fccf524bfadc29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Hentschel?= Date: Fri, 24 Dec 2010 00:51:41 +0100 Subject: [PATCH] gameux: Fix another test failure on Wine wow64. --- dlls/gameux/gamestatistics.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/dlls/gameux/gamestatistics.c b/dlls/gameux/gamestatistics.c index 5650c94d76b..926023b8858 100644 --- a/dlls/gameux/gamestatistics.c +++ b/dlls/gameux/gamestatistics.c @@ -365,6 +365,7 @@ static HRESULT GAMEUX_getAppIdFromGDFPath( GAME_INSTALL_SCOPE installScope; GUID instanceId; LPWSTR lpRegistryPath; + HKEY hKey; DWORD dwLength = 49*sizeof(WCHAR);/* place for GUID */ TRACE("(%s, %p)\n", debugstr_w(GDFBinaryPath), lpApplicationId); @@ -390,11 +391,16 @@ static HRESULT GAMEUX_getAppIdFromGDFPath( hr = GAMEUX_buildGameRegistryPath(installScope, &instanceId, &lpRegistryPath); if(SUCCEEDED(hr)) - hr = HRESULT_FROM_WIN32(RegGetValueW(HKEY_LOCAL_MACHINE, - lpRegistryPath, sApplicationId, RRF_RT_REG_SZ, + hr = HRESULT_FROM_WIN32(RegOpenKeyExW(HKEY_LOCAL_MACHINE, + lpRegistryPath, 0, KEY_READ | KEY_WOW64_64KEY, &hKey)); + + if(SUCCEEDED(hr)) + hr = HRESULT_FROM_WIN32(RegGetValueW(hKey, + NULL, sApplicationId, RRF_RT_REG_SZ, NULL, lpApplicationId, &dwLength)); HeapFree(GetProcessHeap(), 0, lpRegistryPath); + RegCloseKey(hKey); TRACE("found app id: %s, return: %#x\n", debugstr_w(lpApplicationId), hr); return hr;