摘要: nt内核的IO模型中,IRP有两类:threaded irp和non-threaded irp,顾名思义,前者跟thread绑定,后者跟thread无关。当一个threaded irp被创建时,创建线程会有一个队列保存该irp,直到irp完成之后才释放。当你试图让这条线程退出时,系统会检测队列看里面是否还有irp没完成,如果有,线程会一直等待,直到所有的irp全部完成。而non-thread irp则正好相反,如果该irp已经返回到了创建它的地方你还继续complete它,BSOD将会发生。Threaded IRP如前面所讲,threaded irp和线程绑定在一起。当user mode程序发 阅读全文
posted @ 2011-01-18 11:32 gussing 阅读(2508) 评论(1) 推荐(2) 编辑