3697|7

80

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

windows mobile SD卡驱动问题 [复制链接]

现在我需要对SD的读写进行一些控制,做法是新建了一个流驱动,导出函数和sdmemory的一模一样,然后再注册表中将sd卡的clientdriver dll改成了我的这个驱动,在这个驱动中我再获取sdmemory的导出函数地址,在我驱动接收到函数调用的时候,根据情况将调用转给sdmemory。现在遇到了一个问题。
如果不改注册表的话那么系统一切正常,但是一旦我将注册表改成我的驱动后,系统在休眠后就无法唤醒了。
各位老大帮忙分析下原因

最新回复

为了调试,我在这写代码中加了写日志的代码,现在怀疑是在系统休眠的时候文件系统已经无法使用了,而我要对写文件,可能是这个地方出问题了。 下午把写日志的代码去了,再看看还会不会出这种问题  详情 回复 发表于 2009-8-12 11:41
点赞 关注

回复
举报

67

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
真伤心,没有人回,自己顶下。
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
各位老大帮帮忙啊
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

4
 
就你提供的这点信息,要是能分析出问题所在,那一定是神。
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

5
 
额。谢谢您的提醒,我再完善下。
首先在DllMain中的
  1. switch (ul_reason_for_call)
  2.         {
  3.                 case DLL_PROCESS_ATTACH:
  4.                         g_hSdMemory = LoadLibrary(TEXT("SDMemory.dll"));
  5.                         if(NULL == g_hSdMemory)
  6.                         {
  7.                                
  8.                                 return FALSE;
  9.                         }
  10.                        
  11.                         pfDSK_Open = (_DSK_Open)GetProcAddress(g_hSdMemory, TEXT("DSK_Open"));
  12. ......
  13. }\\获取所有的导出函数指针
复制代码

而所有的导出函数都是这样的
  1. extern "C" DWORD WINAPI DSK_Open(
  2. DWORD hDeviceContext,
  3. DWORD AccessCode,
  4. DWORD ShareMode
  5. )
  6. {
  7.         if(pfDSK_Open)
  8.                 return pfDSK_Open(hDeviceContext, AccessCode, ShareMode);
  9.         else
  10.         {
  11.                 pfDSK_Open = (_DSK_Open)GetProcAddress(g_hSdMemory, TEXT("DSK_Open"));
  12.                 if(pfDSK_Open)
  13.                         return pfDSK_Open(hDeviceContext, AccessCode, ShareMode);
  14.                 else
  15.                         return FALSE;
  16.         }
  17. }
复制代码

可是我这样之后去使系统无法唤醒了
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

6
 
c
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

7
 
“无法唤醒”硬件的说法是:CPU不响应唤醒源,无法恢复正常工作状态。软件的说法是:CPU响应了中断源,但是在恢复现场、重新加载驱动的过程中出问题,并且被挂死。

你的描述无法判断到底是哪里出了问题。如果仅仅是靠“屏不亮”的表现来说的,那更是无从判断了。
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

8
 
为了调试,我在这写代码中加了写日志的代码,现在怀疑是在系统休眠的时候文件系统已经无法使用了,而我要对写文件,可能是这个地方出问题了。
下午把写日志的代码去了,再看看还会不会出这种问题
 
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表