苦度人生
驱动牛犊
驱动牛犊
  • 注册日期2006-04-28
  • 最后登录2007-06-18
  • 粉丝0
  • 关注0
  • 积分210分
  • 威望22点
  • 贡献值0点
  • 好评度21点
  • 原创分0分
  • 专家分0分
阅读:1488回复:3

xp下应用程序使用deviceiocontrol和tdi驱动程序通信的问题

楼主#
更多 发布于:2007-01-29 17:00
  在应用程序中使用createfile打开驱动中创建的设备,使用deviceiocontrol来获得两者共享内存的用户态地址。在2000下,正确执行。但是到了windows xp(潘茄花园版)下,为什么就总是拒绝访问?
fanzi
驱动小牛
驱动小牛
  • 注册日期2004-12-09
  • 最后登录2013-12-19
  • 粉丝1
  • 关注0
  • 积分1004分
  • 威望754点
  • 贡献值0点
  • 好评度93点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-01-30 21:09
我觉得应该看看得到的地址和你用户态应用程序里的地址比较一下,看看是否一致,然后再查为什么不能访问。
张帆的内核学习论坛 http://bbs.kerneldev.com
苦度人生
驱动牛犊
驱动牛犊
  • 注册日期2006-04-28
  • 最后登录2007-06-18
  • 粉丝0
  • 关注0
  • 积分210分
  • 威望22点
  • 贡献值0点
  • 好评度21点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-01-31 11:55
首先,谢谢您的关注。我的问题是,dviceiocontrol的返回值为0,用getlasterror查看了一下,为5,拒绝访问。在进一步跟踪,在驱动中的irp_mj_device_control下压根就没有收到这个指令。不知道问什么?可以使用CReateFile来正确的打开设备。
苦度人生
驱动牛犊
驱动牛犊
  • 注册日期2006-04-28
  • 最后登录2007-06-18
  • 粉丝0
  • 关注0
  • 积分210分
  • 威望22点
  • 贡献值0点
  • 好评度21点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-02-01 16:56
问题解决了!
在使用Createfile时,相关参数设置的不正确。导致只能在2000下用不能够在xp下用。改了之后,就可以了
游客

返回顶部