引用: 引用楼主 so927 的帖子:
wince中可以通过“控制面板”----“电源”打开电源属性对话框,
其中有一个“方案”选项,可以选择“电源使用方案”,状态切换时间等
这些方案的设置和超时的监视,是通过什么来管理的。
我的问题就是想问一下,当我们设置了这些值之后,是哪一个线程或者驱动,或者什么程序在根据这个方案和时间来管理wince操作系统的。
当我设置1分钟无任何操作,系统进入挂机状态之后,什么地方在做这个具体的挂起工作。…
超时的设置会被写入注册表,在驱动中可以建立一个线程,读入注册表中的时间,利用WaitForMultipleObjects函数,如果超时就进入某个电源状态!至于这个线程是属于哪个驱动,个人觉得可以任意,比如电源按钮驱动。
具体的挂起动作,是在SetSystemPowerState或者点击开始菜单中的挂起后,最后进入OEMPowerOff函数中,其中会有几个重要工作要做,保存重要寄存器数据、设置唤醒源、唤醒后的执行代码起始地址以及设置CPU进入Sleep模式。唤醒源有中断时,系统唤醒,进入EBOOT,EBOOT判断当前重启动作是属于硬件重启还是唤醒重启,如果是休眠唤醒重启,则进入之前设定的唤醒后首先执行的代码。