void regSearchWow(const char* keyName, const int searchType) { HKEY hKey; debug("64-bit search:\t%s...\n", keyName); if (wow64 && RegOpenKeyEx(HKEY_LOCAL_MACHINE, keyName, 0, KEY_READ | KEY_WOW64_64KEY, &hKey) == ERROR_SUCCESS) { regSearch(hKey, keyName, searchType | KEY_WOW64_64KEY); RegCloseKey(hKey); if ((foundJava & KEY_WOW64_64KEY) != NO_JAVA_FOUND) { debug("Using 64-bit runtime.\n"); return; } } debug("32-bit search:\t%s...\n", keyName); if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, keyName, 0, KEY_READ, &hKey) == ERROR_SUCCESS) { regSearch(hKey, keyName, searchType); RegCloseKey(hKey); } }
void regSearchWow(const char* keyName, const int searchType) { HKEY hKey; if (runtimeBits == INIT_RUNTIME_BITS) { runtimeBits = loadInt(RUNTIME_BITS); } if ((runtimeBits & USE_64_BIT_RUNTIME) && wow64) { debug("64-bit search:\t%s...\n", keyName); if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, keyName, 0, KEY_READ | KEY_WOW64_64KEY, &hKey) == ERROR_SUCCESS) { regSearch(hKey, keyName, searchType | KEY_WOW64_64KEY); RegCloseKey(hKey); if ((foundJava & KEY_WOW64_64KEY) != NO_JAVA_FOUND) { return; } } } if (runtimeBits & USE_32_BIT_RUNTIME) { debug("32-bit search:\t%s...\n", keyName); if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, keyName, 0, KEY_READ, &hKey) == ERROR_SUCCESS) { regSearch(hKey, keyName, searchType); RegCloseKey(hKey); } } }
void regSearchWow(const char* keyName, const int searchType) { HKEY hKey; if (wow64 && RegOpenKeyEx(HKEY_LOCAL_MACHINE, TEXT(keyName), 0, KEY_WOW64_64KEY | KEY_QUERY_VALUE | KEY_ENUMERATE_SUB_KEYS, &hKey) == ERROR_SUCCESS) { regSearch(hKey, keyName, searchType); RegCloseKey(hKey); if (foundJava != NO_JAVA_FOUND) { regWow64Option = KEY_WOW64_64KEY; return; } } if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, TEXT(keyName), 0, KEY_QUERY_VALUE | KEY_ENUMERATE_SUB_KEYS, &hKey) == ERROR_SUCCESS) { regSearch(hKey, keyName, searchType); RegCloseKey(hKey); } }