Мой вопрос о следующей доступной опции настройки в Windows:
В окнах и под опцией питания ==> предварительная настройка питания ==> Управление питанием процессора ==> Минимальное состояние процессора (можно задать в процентах%)
Какова структура API, соответствующая этому значению, я хотел бы написать программу, которая может контролировать% минимального и максимального состояния процессора. Я попытался, SYSTEM_POWER_INFO, SYSTEM_POWER_CAPABILITY, .., ничего не упомянул об этом значении специально.
Посоветуйте, пожалуйста.
С Уважением,
Видимо есть функция Windows под названием WriteProcessorPwrScheme:
BOOLEAN WINAPI WriteProcessorPwrScheme(
_In_ UINT ID,
_In_ PMACHINE_PROCESSOR_POWER_POLICY pMachineProcessorPowerPolicy
);
Источник: я был предупрежден ответом C # в этот ТАК вопрос. Следуйте документации, чтобы увидеть все, что входит в PMACHINE_PROCESSOR_POWER_POLICY
состав.
Однако, согласно документам, эта функция не влияет на текущую политику энергопотребления системы. Вам нужно позвонить SetActivePwrScheme:
BOOLEAN WINAPI SetActivePwrScheme(
_In_ UINT uiID,
_In_opt_ PGLOBAL_POWER_POLICY lpGlobalPowerPolicy,
_In_opt_ PPOWER_POLICY lpPowerPolicy
);
Если SetActivePwrScheme
не работает или не поддерживается вашей версией Windows, вы можете позвонить PowerSetActiveScheme:
DWORD WINAPI PowerSetActiveScheme(
_In_opt_ HKEY UserRootPowerKey,
_In_ const GUID *SchemeGuid
);
Таким образом, кажется, что вы должны сначала создать схему питания, используя WriteProcessorPwrScheme
, который изменяет индекс в набор схем питания, а затем вы должны вызвать SetActivePwrScheme
используя этот индекс, чтобы активировать его.
Вы можете изменить любую схему питания, используя
PowerWriteACValueIndex()/PowerWriteDCValueIndex()
1-й параметр — NULL,
2-й параметр — GUID для желаемой схемы питания (GUID_MAX_POWER_SAVINGS / GUID_MIN_POWER_SAVINGS / GUID_TYPICAL_POWER_SAVINGS),
3-й параметр — GUID_PROCESSOR_SETTINGS_SUBGROUP,
4-й параметр — GUID_PROCESSOR_THROTTLE_MAXIMUM или GUID_PROCESSOR_THROTTLE_MINIMUM
все описание GUID можно найти в winnt.h