阅读:1334回复:4
读取数据的问题
我想请教大家一个问题,我在上层应用用一个ReadFile读取指定字节数的数据,下层驱动用一个DispatchRead从环形缓冲区读取数据,但是如果环形缓冲区里没有足够字节的数据,我可不可以在DispatchRead中等待而不立即返回呢?如果可以的话,对上层应用有没有什么影响呢?是不是会影响异步IO的操作呢?
|
|
最新喜欢:![]()
|
沙发#
发布于:2002-07-05 08:57
可以,只要调用Iostartpacket()启动startio例程,并返回status_pending,在startio中读取数据,判断字节数,如果达到要求则完成irp,否则继续调用startio
|
|
|
板凳#
发布于:2002-07-05 09:15
那么照我的解zydcat大虾的意思,DispatchRead还是要马上返回的,将工作交给StartIo去完成,是不是DispatchRead不返回的话,应用层的ReadFile也不会返回,这样就可能影响异步IO操作,大家说说看是不是这样的?
|
|
|
地板#
发布于:2002-07-05 09:19
是这样
|
|
|
地下室#
发布于:2002-07-09 14:09
可以在ReadFile后,利用驱动程序的中断进行读操作,完成后返回
|
|