gameux: Fix another test failure on Wine wow64
André Hentschel
nerv at dawncrow.de
Thu Dec 23 17:51:41 CST 2010
---
dlls/gameux/gamestatistics.c | 10 ++++++++--
1 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/dlls/gameux/gamestatistics.c b/dlls/gameux/gamestatistics.c
index 5650c94..926023b 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;
--
Best Regards, André Hentschel
More information about the wine-patches
mailing list