xzffff
驱动小牛
驱动小牛
  • 注册日期2003-07-06
  • 最后登录2012-09-20
  • 粉丝0
  • 关注0
  • 积分377分
  • 威望41点
  • 贡献值0点
  • 好评度34点
  • 原创分0分
  • 专家分0分
阅读:2378回复:4

怎样在用户程序与驱动程序里拷贝数据啊?

楼主#
更多 发布于:2005-04-29 10:54

用户程序里调用read和write函数与我的驱动程序互拷数据,数据是SYSTEMTIME的数据结构。
我在驱动程序里用MapPtrToProcess函数来指向用户空间的SYSTEMTIME数据,但是调试信息提示调用MapPtrToProcess失败。
在用户程序里我是这样调用的:
SYSTEMTIME *lpst;
ReadFile(hHandle,(LPVOID)lpst,1,&cBytes,NULL);
在驱动程序里调用:
SYSTEMTIME* lpst=(SYSTEMTIME *)MapPtrToProcess((LPVOID)pBuffer,GetCallerProcess());
if(lpst == NULL){
DEBUGMSG (1,(TEXT(\"RTC_Read: MapPtrToProcess failure,return \\n\")));
return 0;
}
结果调试信息显示调用MapPtrToProcess失败。

还有没有什么办法可以实现把我驱动程序里的SYSTEMTIME数据结构的数据拷到用户程序的变量里去?
又该用什么函数把用户程序里的SYSTEMTIME数据结构的数据拷到我的驱动程序里来?
xzffff
驱动小牛
驱动小牛
  • 注册日期2003-07-06
  • 最后登录2012-09-20
  • 粉丝0
  • 关注0
  • 积分377分
  • 威望41点
  • 贡献值0点
  • 好评度34点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-04-30 14:06
已经解决了,谢谢各位支持.
dding832
驱动牛犊
驱动牛犊
  • 注册日期2007-11-15
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望158点
  • 贡献值0点
  • 好评度24点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-03-14 13:37
怎么解决的啊
bluenight88
驱动牛犊
驱动牛犊
  • 注册日期2008-03-07
  • 最后登录2008-04-25
  • 粉丝0
  • 关注0
  • 积分140分
  • 威望15点
  • 贡献值0点
  • 好评度14点
  • 原创分0分
  • 专家分0分
地板#
发布于:2008-03-25 14:45
怎么解决的啊
楼主好心说说看啊!
dding832
驱动牛犊
驱动牛犊
  • 注册日期2007-11-15
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望158点
  • 贡献值0点
  • 好评度24点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2008-03-27 16:54
v如果传递到驱动里的结构指针里还有指针的话还得用MapPtrToProcess把里面的指针一个个的重置一下,不知是不是楼主说的那种情况,没看懂题干,呵呵
游客

返回顶部