tdf#103058: use RegQueryValueEx instead of RegGetValue
because the latter is unsupported on WinXP Change-Id: Ie922271ab837637d77f3d76c5144d10a7f5a5f0d Reviewed-on: https://gerrit.libreoffice.org/36416 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
This commit is contained in:
@@ -14,8 +14,28 @@ namespace {
|
|||||||
|
|
||||||
HRESULT RegRead(HKEY hRootKey, const wchar_t* subKey, const wchar_t* valName, wchar_t* valData, size_t cchData)
|
HRESULT RegRead(HKEY hRootKey, const wchar_t* subKey, const wchar_t* valName, wchar_t* valData, size_t cchData)
|
||||||
{
|
{
|
||||||
|
HKEY hKey;
|
||||||
|
long iRetVal = RegCreateKeyExW(
|
||||||
|
hRootKey,
|
||||||
|
subKey,
|
||||||
|
0,
|
||||||
|
nullptr,
|
||||||
|
REG_OPTION_NON_VOLATILE,
|
||||||
|
KEY_READ,
|
||||||
|
nullptr,
|
||||||
|
&hKey,
|
||||||
|
nullptr);
|
||||||
|
if (iRetVal != ERROR_SUCCESS)
|
||||||
|
return HRESULT_FROM_WIN32(iRetVal);
|
||||||
|
|
||||||
DWORD cbData = cchData * sizeof(valData[0]);
|
DWORD cbData = cchData * sizeof(valData[0]);
|
||||||
long iRetVal = RegGetValue(hRootKey, subKey, valName, RRF_RT_REG_SZ, nullptr, valData, &cbData);
|
DWORD dwType;
|
||||||
|
iRetVal = RegQueryValueExW(hKey, valName, nullptr, &dwType, reinterpret_cast<LPBYTE>(valData), &cbData);
|
||||||
|
RegCloseKey(hKey);
|
||||||
|
if ((iRetVal == ERROR_SUCCESS) && (dwType != REG_SZ))
|
||||||
|
{
|
||||||
|
return E_FAIL;
|
||||||
|
}
|
||||||
return HRESULT_FROM_WIN32(iRetVal);
|
return HRESULT_FROM_WIN32(iRetVal);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user