zoukankan      html  css  js  c++  java
  • [转]WM/WINCE代码研读系列之 Power Management(3)

    二、Power Management's Functions

    我们可以在PM.def里面看到以下14个函数
    系统电源管理相关:
    PmSetSystemPowerState    ------   设置系统电源状态
    PmGetSystemPowerState    ------   得到系统电源状态
    设备电源管理相关:
    PmDevicePowerNotify          ------    要求设备电源状态,设置pds->lastReqDx
    PmSetDevicePower              ------    设置设备电源状态,设置pds->setDx
    PmGetDevicePower              ------    得到设备电源状态
    PmSetPowerRequirement     ------    设置设备电源需求,设置设备电源的最小值
    PmReleasePowerRequiremen   ------    释放设备电源需求,释放设备电源的最小值
    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标志位表示状态转换是紧急的。

  • 相关阅读:
    Python
    Python
    Jmeter 学习路线
    Git 学习路线
    数据库学习路线
    Linux 学习路线
    Gitlab(2)- centos7.x 下安装社区版 Gitlab 以及它的配置管理
    云原生学习路线(仅供参考)
    Python
    Python
  • 原文地址:https://www.cnblogs.com/answer/p/1956251.html
Copyright © 2011-2022 走看看