1.控制面板的那个电源图标定义CPLMAIN_POWER这个宏就会用了
2.改了注册表的timeouts以后,还要触发一个命名事件,PM才知道timer要更新
在你改完注册表以后,加下面这段代码
HANDLE hevReloadActivityTimeouts = OpenEvent(EVENT_ALL_ACCESS, FALSE, _T("PowerManager/ReloadActivityTimeouts"));
if (hevReloadActivityTimeouts) {
SetEvent(hevReloadActivityTimeouts);
CloseHandle(hevReloadActivityTimeouts);
}
这个功能是PM实现的,代码在public里面,开源的。只有设备注册为PM可管理的类型,代码里支持,PM才会去管理设备电源,GWES的电源管理还是在工作的
3.降低睡眠功耗和PM关系不是很大,PM只管理设备状态切换和睡眠唤醒流程。睡眠功耗高,应该是某些模块没关闭或者硬件IO口有电流流出造成的,检查下硬件或者驱动里睡眠时的操作。