wince 下如何在底层驱动中获取SetSystemPowerState函数传来的参数

andyhere 2010-07-29 06:36:35
我现在需要在底层驱动程序中,获取从APP调用SetSystemPowerState函数传来的参数POWER_STATE_SUSPEND的值,如下:

APP:
.......................

SetSystemPowerState(null,POWER_STATE_SUSPEND,POWER_FORCE);
.....................

请各位大哥指点下!

...全文
904 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
jw212 2010-08-27
  • 打赏
  • 举报
回复
这个问题关注下,以后会用到
benbentobecow 2010-08-27
  • 打赏
  • 举报
回复
楼上俩位的应该可以楼主解决问题了,我借宝地再问一下啊
GetSystemPowerState()函数调用之后,系统具体是怎么处理的。
各位大侠能不能帮忙给分析各详细流程,比如需要关背光,肯定应该会去调用背光驱动中相应关背光的地方吧
那么其它的呢,具体是怎么调用的呢?
chinesedragon2010 2010-08-05
  • 打赏
  • 举报
回复
你在\Src\Oal\Oallib的sources文件下面加入下面语句就可以使用GetSystemPowerState()了
TARGETLIBS= \
$(_COMMONSDKROOT)\lib\$(_CPUINDPATH)\coredll.lib \
Linux_lee 2010-08-04
  • 打赏
  • 举报
回复
Power.c 中加入 头文件 pm.h,
source文件中链接 Coredll.lib这个库,
应该可以使用GetSystemPowerState这个API吧?
xiaowang1026 2010-08-04
  • 打赏
  • 举报
回复
期待,努力学习
躺着享受 2010-08-04
  • 打赏
  • 举报
回复
围观 学习下 等待抓根兄继续解释
andyhere 2010-08-02
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 lightsoure 的回复:]
error LNK2019: unresolved external symbol GetSystemPowerState。。。

单从错误信息看 应该是使用该函数缺少链接库吧~~
一般我们都是在应用程序中调用这个接口获取电源状态(驱动中已实现该功能)

如果是LZ想吧应用中此接口某个时刻的获取的值传给驱动,那为啥一定要用这个函数呢?呵呵~
[/Quote]

lightsoure大哥,有什么好的办法来达到我的目的吗?
andyhere 2010-08-02
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 chinesedragon2010 的回复:]
你们是想通过应用程序调用SetSystemPowerState(null,POWER_STATE_SUSPEND,POWER_FORCE)来让系统进入sleep状态吗?
[/Quote]
是呀,可我不知道在OEMPowerOff函数内如何接收或得到SetSystemPowerState函数传来的值如:
POWER_STATE_SUSPEND,POWER_STATE_RESET.. 然后才去做相应的事如是挂机,还是SLEEP,或关机。
andyhere 2010-08-02
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 andyhere 的回复:]
引用 9 楼 chinesedragon2010 的回复:
我觉得你可以单独创建一个驱动来单独处理应用程序要求系统挂机,还是SLEEP,或关机这些事情,

在xxx_XXX_IOControl()根据应用程序发送过来的不同的控制码来做不同的动作。
在这里,我假设sleep对应的控制码是0,系统挂起对应的控制码是1,关机对应的控制码是2

你可以
case 0:
SetSystemP……
[/Quote]
chinesedragon2010兄,上述使用在我的BSP中同样会有问题,用这个函数SetSystemPowerState(null,POWER_STATE_SUSPEND,POWER_FORCE), POWER_FORCE );系统最终会调OEMPowerOff函数来具体实现,但在底层的OEMPowerOff函数如何知道是挂机还是睡眠?所以在OEMPowerOff函数内我需要实现如下功能:
void OEMPowerOff()
{
if () //挂机
enter_suspend()
elseif () //sleep
enter_sleep()
}
andyhere 2010-08-02
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 chinesedragon2010 的回复:]
我觉得你可以单独创建一个驱动来单独处理应用程序要求系统挂机,还是SLEEP,或关机这些事情,

在xxx_XXX_IOControl()根据应用程序发送过来的不同的控制码来做不同的动作。
在这里,我假设sleep对应的控制码是0,系统挂起对应的控制码是1,关机对应的控制码是2

你可以
case 0:
SetSystemPowerState( NULL, POWER_STATE_……
[/Quote]
chinesedragon2010兄,这样是可以实现的,但我们公司要求在方面做成统一的接口。目前我公司的其它几个平台上都用的是SetSystemPowerState(null,POWER_STATE_SUSPEND,POWER_FORCE)接口。我目前的平台是用GwesPowerOffSystem()这个API函数的,但这个函数不能将用户的选择传进来。我现在就想实现在应用程序中由用户选择是挂机还是睡眠,调用SetSystemPowerState。
没有其他办法了吗?
chinesedragon2010 2010-08-02
  • 打赏
  • 举报
回复
我觉得你可以单独创建一个驱动来单独处理应用程序要求系统挂机,还是SLEEP,或关机这些事情,

在xxx_XXX_IOControl()根据应用程序发送过来的不同的控制码来做不同的动作。
在这里,我假设sleep对应的控制码是0,系统挂起对应的控制码是1,关机对应的控制码是2

你可以
case 0:
SetSystemPowerState( NULL, POWER_STATE_SUSPEND, POWER_FORCE );
//系统就会进入睡眠状态了。
break;
case 1:
系统挂起相关代码
break;

case 2:
关机对应的代码
break;
chinesedragon2010 2010-08-01
  • 打赏
  • 举报
回复
你们是想通过应用程序调用SetSystemPowerState(null,POWER_STATE_SUSPEND,POWER_FORCE)来让系统进入sleep状态吗?
FrankBIBI 2010-08-01
  • 打赏
  • 举报
回复
error LNK2019: unresolved external symbol GetSystemPowerState。。。

单从错误信息看 应该是使用该函数缺少链接库吧~~
一般我们都是在应用程序中调用这个接口获取电源状态(驱动中已实现该功能)

如果是LZ想吧应用中此接口某个时刻的获取的值传给驱动,那为啥一定要用这个函数呢?呵呵~
andyhere 2010-07-31
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 chinesedragon2010 的回复:]
在你对应驱动的XXX_IOControl()下面的
case IOCTL_POWER_SET:
在这个case下面利用GetSystemPowerState()函数应该可以实现。
[/Quote]
不行呀,我是想在OEMPowerOff内增加这样的功能,该函数位于bsp\src\lib\common\power下,
我一加这个函数,编译整个BSP时就通不过。出现如下错误:
error LNK2019: unresolved external symbol GetSystemPowerState。。。

我用的是wince 6.0.
andyhere 2010-07-31
  • 打赏
  • 举报
回复
不行呀,我是想在OEMPowerOff内增加这样的功能,该函数位于bsp\src\lib\common\power下,
我一加这个函数,编译整个BSP时就通不过。出现如下错误:
error LNK2019: unresolved external symbol GetSystemPowerState。。。

我用的是wince 6.0.

chinesedragon2010 2010-07-30
  • 打赏
  • 举报
回复
在你对应驱动的XXX_IOControl()下面的
case IOCTL_POWER_SET:
在这个case下面利用GetSystemPowerState()函数应该可以实现。
andyhere 2010-07-30
  • 打赏
  • 举报
回复
自己顶下!

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧