cloud_1013
驱动牛犊
驱动牛犊
  • 注册日期2003-11-04
  • 最后登录2004-01-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1027回复:3

几个初学者的问题,请大虾帮忙!

楼主#
更多 发布于:2003-11-05 08:54
在WDM中应用程序传给我的数据inputbuffer[10],我怎么得到?是在DeveceControl()中吗?我怎样将数据传给应用程序?谢谢!
jeosph
驱动中牛
驱动中牛
  • 注册日期2001-04-19
  • 最后登录2006-08-08
  • 粉丝0
  • 关注0
  • 积分96分
  • 威望11点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-11-05 09:13
在WDM中应用程序传给我的数据inputbuffer[10],我怎么得到?是在DeveceControl()中吗?我怎样将数据传给应用程序?谢谢!


这些问题,书上有明确的答案
CYoung
驱动中牛
驱动中牛
  • 注册日期2003-06-10
  • 最后登录2005-01-04
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-11-05 09:26
通过DeviceIoControl()函数进行获取,当然你的驱动程序要先和应用程序进行通讯
答得好的话,请兄弟们加点分,那是对我的肯定
jeosph
驱动中牛
驱动中牛
  • 注册日期2001-04-19
  • 最后登录2006-08-08
  • 粉丝0
  • 关注0
  • 积分96分
  • 威望11点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-11-05 09:29
[quote]在WDM中应用程序传给我的数据inputbuffer[10],我怎么得到?是在DeveceControl()中吗?我怎样将数据传给应用程序?谢谢!


这些问题,书上有明确的答案
 [/quote]

还是说说吧:
1)app->DRIVER的数据你可以用DeveceControl()方式,你也可以用writefile()的方式
2)driver->app数据,你可以用DeveceControl()方式或者readfile的方式
3)具体用什么,取决你的喜好及driver的写法
4) 如果你用method_buffer的方式,数据在AssociatedIrp.SystemBuffer中
5)如果用method_direct ,数据在irp->mdlAddress中
6)如果method_neither ,数据在irp->userbuffer
7)如果你使用了app与driver内存共享的方法
  a)app可以申请内存,将地址传给driver
  b)driver申请内存,将地址传给app
  c)共享命名section
游客

返回顶部