MCPcopy Create free account
hub / github.com/PCSX2/pcsx2 / LogUserPowerPlan

Function LogUserPowerPlan

pcsx2/VMManager.cpp:2461–2489  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2459
2460#ifdef _WIN32
2461inline void LogUserPowerPlan()
2462{
2463 wil::unique_any<GUID*, decltype(&::LocalFree), ::LocalFree> pPwrGUID;
2464 DWORD ret = PowerGetActiveScheme(NULL, pPwrGUID.put());
2465 if (ret != ERROR_SUCCESS)
2466 return;
2467
2468 UCHAR aBuffer[2048];
2469 DWORD aBufferSize = sizeof(aBuffer);
2470 ret = PowerReadFriendlyName(NULL, pPwrGUID.get(), &NO_SUBGROUP_GUID, NULL, aBuffer, &aBufferSize);
2471 std::string friendlyName(StringUtil::WideStringToUTF8String((wchar_t*)aBuffer));
2472 if (ret != ERROR_SUCCESS)
2473 return;
2474
2475 DWORD acMax = 0, acMin = 0, dcMax = 0, dcMin = 0;
2476
2477 if (PowerReadACValueIndex(NULL, pPwrGUID.get(), &GUID_PROCESSOR_SETTINGS_SUBGROUP, &GUID_PROCESSOR_THROTTLE_MAXIMUM, &acMax) ||
2478 PowerReadACValueIndex(NULL, pPwrGUID.get(), &GUID_PROCESSOR_SETTINGS_SUBGROUP, &GUID_PROCESSOR_THROTTLE_MINIMUM, &acMin) ||
2479 PowerReadDCValueIndex(NULL, pPwrGUID.get(), &GUID_PROCESSOR_SETTINGS_SUBGROUP, &GUID_PROCESSOR_THROTTLE_MAXIMUM, &dcMax) ||
2480 PowerReadDCValueIndex(NULL, pPwrGUID.get(), &GUID_PROCESSOR_SETTINGS_SUBGROUP, &GUID_PROCESSOR_THROTTLE_MINIMUM, &dcMin))
2481 return;
2482
2483 Console.WriteLnFmt(
2484 " Power Profile = '{}'\n"
2485 " Power States (min/max)\n"
2486 " AC = {}% / {}%\n"
2487 " Battery = {}% / {}%\n",
2488 friendlyName.c_str(), acMin, acMax, dcMin, dcMax);
2489}
2490#endif
2491
2492#if defined(_WIN32)

Callers 1

LogCPUCapabilitiesMethod · 0.85

Calls 5

WideStringToUTF8StringFunction · 0.85
putMethod · 0.45
getMethod · 0.45
WriteLnFmtMethod · 0.45
c_strMethod · 0.45

Tested by

no test coverage detected