2012年4月19日

IRP三种操作

摘要: IRP的操作通常状态下派遣函数调用IoCompleteRequest 结束当前IRP请求但在一些情况下可能要挂起irp 用内核函数IoMarkIrpPending 挂起IRP并返回 STATUS_PENDING ,对于ring3级的请求会返回False 这时用GetLastError会发现错误码是ERROR_IO_PENDING 表明当前操作被挂起。为了最终要结束所有的IRP请求,我们需要保存被挂起的IRP,并在最后进行处理(IRP_MJ_CLEANUP)还有一种情况是取消IRP的请求IoSetCancelRoutine(PIRP pIrp, PDRIVER_CANCEL CancelRout 阅读全文

posted @ 2012-04-19 21:10 xmcc 阅读(1425) 评论(0) 推荐(0)

导航