阅读:2379回复:4
怎样在用户程序与驱动程序里拷贝数据啊?用户程序里调用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数据结构的数据拷到我的驱动程序里来? |
|
沙发#
发布于:2008-03-27 16:54
v如果传递到驱动里的结构指针里还有指针的话还得用MapPtrToProcess把里面的指针一个个的重置一下,不知是不是楼主说的那种情况,没看懂题干,呵呵
|
|
板凳#
发布于:2008-03-25 14:45
怎么解决的啊
楼主好心说说看啊! |
|
地板#
发布于:2008-03-14 13:37
怎么解决的啊
|
|
地下室#
发布于:2005-04-30 14:06
已经解决了,谢谢各位支持.
|
|