From 49f79d61d347cf3ac29dcd30583a44402a0397cf Mon Sep 17 00:00:00 2001 From: Sajid Date: Tue, 28 Jan 2025 16:20:26 +0600 Subject: [PATCH] Use RegGetValueW --- UnleashedRecomp/os/win32/registry_win32.inl | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/UnleashedRecomp/os/win32/registry_win32.inl b/UnleashedRecomp/os/win32/registry_win32.inl index e5c2b1db..32d9e9f2 100644 --- a/UnleashedRecomp/os/win32/registry_win32.inl +++ b/UnleashedRecomp/os/win32/registry_win32.inl @@ -27,7 +27,7 @@ bool os::registry::ReadValue(const std::string_view& name, T& data) DWORD bufferSize = 0; DWORD dataType = 0; - auto result = RegQueryValueExW(hKey, wideName, NULL, &dataType, nullptr, &bufferSize); + auto result = RegGetValueW(hKey, nullptr, wideName, RRF_RT_ANY, &dataType, nullptr, &bufferSize); if (result != ERROR_SUCCESS) { @@ -42,7 +42,7 @@ bool os::registry::ReadValue(const std::string_view& name, T& data) { std::vector buffer{}; buffer.reserve(bufferSize); - result = RegQueryValueExW(hKey, wideName, nullptr, nullptr, buffer.data(), &bufferSize); + result = RegGetValueW(hKey, nullptr, wideName, RRF_RT_REG_SZ, nullptr, buffer.data(), &bufferSize); if (result == ERROR_SUCCESS) { @@ -58,7 +58,7 @@ bool os::registry::ReadValue(const std::string_view& name, T& data) { std::vector buffer{}; buffer.reserve(bufferSize); - result = RegQueryValueExW(hKey, wideName, nullptr, nullptr, buffer.data(), &bufferSize); + result = RegGetValueW(hKey, nullptr, wideName, RRF_RT_REG_SZ, nullptr, buffer.data(), &bufferSize); if (result == ERROR_SUCCESS) { @@ -68,17 +68,11 @@ bool os::registry::ReadValue(const std::string_view& name, T& data) } else if constexpr (std::is_same_v) { - if (dataType == REG_DWORD) - { - result = RegQueryValueExW(hKey, wideName, nullptr, nullptr, (BYTE*)&data, &bufferSize); - } + result = RegGetValueW(hKey, nullptr, wideName, RRF_RT_DWORD, nullptr, (BYTE*)&data, &bufferSize); } else if constexpr (std::is_same_v) { - if (dataType == REG_QWORD) - { - result = RegQueryValueExW(hKey, wideName, nullptr, nullptr, (BYTE*)&data, &bufferSize); - } + result = RegGetValueW(hKey, nullptr, wideName, RRF_RT_QWORD, nullptr, (BYTE*)&data, &bufferSize); } else {