阅读:1309回复:2
异步IO的线程上下文问题
大家好,我在我的驱动中IO处理是异步的,我发现IO处理的例程运行的上下文是发起IO请求的应用程序的线程上下文。假如我发出了很多IO,但是因为我异步的,很多IO都没有完成,这个时候我杀死发起IO请求的应用程序,那么驱动的例程将在什么线程上下文运行,那这些未完成的IO在完成的时候还会不会进行返回?大家能为大家做一个知识普及吗?谢谢了!
|
|
沙发#
发布于:2008-01-08 14:55
过程好像是 IRP如果设置了取消例程,你杀死发起IO请求的应用程序 ,IO管理器会遍历irplist依次调用这些取消例程;如果没设置取消例程,IO管理器会强行把IRP从irplist去掉,当然这些IRP的资源不可能得到释放。 这些过程应该都在系统上下文中。
|
|
板凳#
发布于:2008-01-14 09:55
谢谢大侠,我设置了取消例程,但是好像没有被调用呀?各位大侠能解释解释嘛?
|
|