当前位置: 代码迷 >> WinCE >> 请问关于背光驱动的有关问题?欢迎各位讨论
  详细解决方案

请问关于背光驱动的有关问题?欢迎各位讨论

热度:117   发布时间:2016-04-28 13:41:03.0
请教关于背光驱动的问题?欢迎各位讨论!
各位好!
我正在做WINCE下的背光驱动
首先
  我提供给PM.EXE 我的背光支持电源管理的能力为:D0、D1、D4
  并且在D0时我让背光亮,D1和D4时我都让背光关闭 相关函数:
  BOOL BackLightSetState(DWORD dwContext, CEDEVICE_POWER_STATE state)
  目前当sleep时,设备(背光)驱动自动进入到D4状态,将背光关闭,当ON状态(唤醒)时,设备(背光)驱动自动进入到
  D0状态,将背光打开。

然后我又把PM中的PDD层拿到我的BSP下编译,通过跟踪代码,发现当我在属性->背光超时,设置timeout时间后
当时间超时,PM.EXE的状态从UserActive切换到UserInactivity再到UserIdle
通过common.reg发现UserIdle对应的设备电源管理状态是D1,

可是:PM的系统电源管理状态已经进入到userIdle,而我的设备电源管理状态(背光驱动)并没进入到D1

通过代码发现,如果想让设备电源管理状态(背光驱动)进入到D1状态,必须通过IOCTL_POWER_SET

可是我看PM的PDD层并没有主动调用这个KernelIoControl(IOCTL_POWER_SET...)

请问各位兄台:这个地方我该怎么处理??

------解决方案--------------------
KernelIoControl函数是有内核来调用的,并不需要你自己调用。可以在KernelIoControl中通过串口打印些信息出来,看有没有被调用。
------解决方案--------------------
这个在背光驱动里实现就行了吧,没必要改PM的代码。
------解决方案--------------------
看看这里吧,希望有点帮助。
http://www.cnblogs.com/we-hjb/archive/2010/01/27/1657973.html
------解决方案--------------------
原来是笔误啊!
  相关解决方案