yxgsxw
驱动牛犊
驱动牛犊
  • 注册日期2004-03-01
  • 最后登录2005-09-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1438回复:4

应用程序与驱动程序的通信问题?

楼主#
更多 发布于:2004-04-09 22:55
在应用程序与驱动程序异步传输中,应用程序发送请求(METHOD_OUT_DIRECT),驱动程序将数据拷贝到该IRP的MDL数据区,应用程序是否就可以直接读取数据了?(该IRP未完成。继续读取下一部分数据。)如不能应该怎么办?有这方面的例子吗?

请大家捧捧场!
mydrive
驱动牛犊
驱动牛犊
  • 注册日期2001-06-21
  • 最后登录2004-05-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-04-12 23:16
数据应该能读,但如何判断有效数据的长度呢?既然有这样的需求,还不如数据拷贝完一些就立即让IRP完成,下一批数据交给下一个排队的IRP处理.
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-04-14 09:44
mydrive说的有道理,既然一次处理不完,那就下次在处理咯
或者使用其它通信机制
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
flying
驱动小牛
驱动小牛
  • 注册日期2002-08-01
  • 最后登录2016-06-19
  • 粉丝0
  • 关注0
  • 积分197分
  • 威望70点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2004-04-14 10:32
或者你可以选择IRP异步完成啊,处理完一部分数据,IRP返回PENDING,然后在你的应用程序中再处理这个IRP就可以了

看看介绍这方面的书吧
yxgsxw
驱动牛犊
驱动牛犊
  • 注册日期2004-03-01
  • 最后登录2005-09-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-04-14 20:58
谢谢各位大哥!!
请大家捧捧场!
游客

返回顶部