[idd] helper/registry: load and store no GPU preference

This commit is contained in:
Quantum
2026-06-03 00:47:40 -04:00
parent 1a137f3c08
commit ebeb9d028e
2 changed files with 27 additions and 1 deletions

View File

@@ -171,7 +171,7 @@ std::optional<DWORD> CRegistrySettings::getDefaultRefresh()
case ERROR_FILE_NOT_FOUND:
return DEFAULT_REFRESH;
default:
DEBUG_ERROR_HR(status, "RegGetValue(Modes) length computation");
DEBUG_ERROR_HR(status, "RegGetValue(Modes)");
return {};
}
}
@@ -180,3 +180,26 @@ LSTATUS CRegistrySettings::setDefaultRefresh(DWORD refresh)
{
return RegSetValueEx(hKey, L"DefaultRefresh", 0, REG_DWORD, (LPBYTE) &refresh, sizeof(DWORD));
}
std::optional<bool> CRegistrySettings::getNoGPU()
{
DWORD result, cbData = sizeof result;
LSTATUS status = RegGetValue(hKey, nullptr, L"NoGPU", RRF_RT_REG_DWORD, nullptr, &result, &cbData);
switch (status)
{
case ERROR_SUCCESS:
return !!result;
case ERROR_FILE_NOT_FOUND:
return false;
default:
DEBUG_ERROR_HR(status, "RegGetValue(NoGPU)");
return {};
}
}
LSTATUS CRegistrySettings::setNoGPU(bool noGPU)
{
DWORD dwValue = noGPU;
return RegSetValueEx(hKey, L"NoGPU", 0, REG_DWORD, (LPBYTE)&dwValue, sizeof(DWORD));
}

View File

@@ -49,4 +49,7 @@ public:
std::optional<DWORD> getDefaultRefresh();
LSTATUS setDefaultRefresh(DWORD refresh);
std::optional<bool> getNoGPU();
LSTATUS setNoGPU(bool noGPU);
};