feihui
驱动牛犊
驱动牛犊
  • 注册日期2002-02-20
  • 最后登录2005-11-14
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1334回复:4

读取数据的问题

楼主#
更多 发布于:2002-07-05 06:35
我想请教大家一个问题,我在上层应用用一个ReadFile读取指定字节数的数据,下层驱动用一个DispatchRead从环形缓冲区读取数据,但是如果环形缓冲区里没有足够字节的数据,我可不可以在DispatchRead中等待而不立即返回呢?如果可以的话,对上层应用有没有什么影响呢?是不是会影响异步IO的操作呢?

最新喜欢:

jinghuirenjinghu...
雨中的蝴蝶,向往风中的幸福
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-07-05 08:57
可以,只要调用Iostartpacket()启动startio例程,并返回status_pending,在startio中读取数据,判断字节数,如果达到要求则完成irp,否则继续调用startio
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
feihui
驱动牛犊
驱动牛犊
  • 注册日期2002-02-20
  • 最后登录2005-11-14
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-07-05 09:15
那么照我的解zydcat大虾的意思,DispatchRead还是要马上返回的,将工作交给StartIo去完成,是不是DispatchRead不返回的话,应用层的ReadFile也不会返回,这样就可能影响异步IO操作,大家说说看是不是这样的?
雨中的蝴蝶,向往风中的幸福
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-07-05 09:19
是这样
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
zjg1603
驱动牛犊
驱动牛犊
  • 注册日期2002-06-27
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2002-07-09 14:09
可以在ReadFile后,利用驱动程序的中断进行读操作,完成后返回
游客

返回顶部