3255|6

64

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

请教在 Windows Mobile 5,6 (PPC) 上如何保持 SD 卡的供电(即便在系统 suspend 的时候) [复制链接]

请教在 Windows Mobile 5,6 (PPC) 上如何保持 SD 卡的供电(即便在系统 suspend 的时候)

问题起因:
由于 WM 会在系统 suspend 的时候关闭 SD 卡电源,于是导致在系统 awake 之后应用程序所持有的文件句柄失效(短暂失效或者永久失效),进而导致应用程序崩溃。典型的应用是 GPS 或者金山词霸等大数据量的应用程序。另外,由于手机的内部存储容量很小,极容易装满,所以总会有机会将程序安装到 SD 卡上的。

于是,如何防止应用程序崩溃呢?其中一个办法就是在系统 suspend 的时候,仍然保持 SD 卡供电。

我的尝试:
查看许多资料,都建议调用 SetPowerRequirement。
我的代码是
        m_code =L"{8DD679CE-8AB4-43c8-A14A-EA4963FAA715}\\DSK1:";
        HANDLE hRequire = SetPowerRequirement(L"{8DD679CE-8AB4-43c8-A14A-EA4963FAA715}\\DSK1:", D0, POWER_NAME|POWER_FORCE, NULL, 0);
        ASSERT(hRequire != NULL);
        DWORD err = GetLastError();

返回值表明一切正常。但是,金山词霸等在 SD 卡上运行的程序仍然出现了崩溃或者无声无息地退出。

如何重现:
多次按电源键,让系统不断重复 suspend - awake 的过程。每个状态停留的状态5 秒左右,最好 10 秒。另外,断开 USB 供电。


Thanks in advance!

sunshaking at-> gmail.com

最新回复

没有解决。  详情 回复 发表于 2008-8-30 14:20
点赞 关注

回复
举报

71

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
另外,在手机上运行 “设备管理器” 可看到 SD 卡的驱动器名是 “DSK1:"

 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
SD卡是否供电不是由它决定的,而是由系统的PM driver决定的,所以你无法更改。
唯一的办法是阻止系统进入suspend,但是这样一来,你的手机就十分耗电了。
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

4
 
最好的办法是使用 db4o 之类的东西来保存你的程序对象。 db4o很简单,只要1天就可以学会。一旦使用它,即使用户随时把电池拔出来也不怕了。
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

5
 
dissapointed...
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

6
 
请教在 Windows Mobile 5,6 (PPC) 上如何保持 SD 卡的供电(即便在系统 suspend 的时候)

我也遇到这个问题,请问是怎么解决的呢??非常感谢!!

 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

7
 
没有解决。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表