您的位置:首页 > 编程语言

[转]WM/WINCE代码研读系列之 Power Management(3)

2011-02-16 16:57 393 查看
二、Power Management's Functions

我们可以在PM.def里面看到以下14个函数
系统电源管理相关:
PmSetSystemPowerState ------ 设置系统电源状态
PmGetSystemPowerState ------ 得到系统电源状态
设备电源管理相关:
PmDevicePowerNotify ------ 要求设备电源状态,设置pds->lastReqDx
PmSetDevicePower ------ 设置设备电源状态,设置pds->setDx
PmGetDevicePower ------ 得到设备电源状态
PmSetPowerRequirement ------ 设置设备电源需求,设置设备电源的最小值
PmReleasePowerRequirement ------ 释放设备电源需求,释放设备电源的最小值
PmRegisterPowerRelationship ------ 当总线驱动或者代理电源管理器要截获驱动与电源管理模块之间的IOCTL命令字时,应当调用此函数。也就是说,该设备的电源管理被代理了。
PmReleasePowerRelationship ------ 结束前一函数设置的电源管理代理关系
消息通知:
PmRequestPowerNotifications ------ 注册电源管理的通知事件
PmStopPowerNotifications ------ 撤消拦截来自电源管理模块的电源管理回调消息
其它:
PmInit ------ PM.dll的初始化函数
PmNotify ------ DLL_PROCESS_DETACH时调用以释放资源
PmPowerHandler ------ Resuming时的处理

下面我们就这些函数一个个的注释讲解:

三、PmSetSystemPowerState
当我们调用SetSystemPowerState最终会调用到PM.dll里的PmSetSystemPowerState函数。
系统电源状态会决定所有power-manageable设备驱动的最大的电源级别。
当然,这个函数也不是什么状态都能设置的。如前面所说的BacklightOff ,Resuming,Unattended这三个状态是不可以被设置的。
PmSetSystemPowerState(LPCWSTR pwsState, DWORD dwStateHint, DWORD dwOptions)
psState ------ 指向包含要设置的系统电源状态名字的字符串
StateFlags ------ 这个参数是可选的,如果psState=NULL则要设置的系统电源状态由StateFlags 决定。
Options ------ 这个POWER_FORCE标志位表示状态转换是紧急的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: