IRP详解(3)----UMDF下处理流程
来源:互联网 发布:centos修改ssh端口号 编辑:程序博客网 时间:2024/05/21 12:50
WDM和MDF下IRP的处理流程是不相同的,其中MDF又有UMDF何KMDF之分,我们先来看看UMDF中IRP的详细处理,如下图所示:
1:I/O管理器将IRP传递给位于内核模式设备堆栈中的顶层驱动对象(Up Device Object)。
2:位于内核的反射器将该IRP打包发送给UMDF Host进程。
3:IRP包传送给负责处理它的驱动后,framework创建一个WDF请求对象并把它插入进相应的队列,亦或者调用相应的回调函数来处理该IRP。
4:当UMDF驱动处理完IRP请求后,framework调用转发器(dispatcher), 转发器将发起一个Windows I/O请求给底层驱动对象(Down Device Object)。
注意:此时的IRP已经不是最开始发起的IRP
5:底层驱动对象收到新IRP之后将其发送到更下一层的内核模式驱动(Kernel-mode Drivers),内核模式下的驱动将其发送至相应的驱动处理。
6:当IRP完成时,转发器将会收到完成信息,并告诉framework, framework将WDF请求设置成完成状态。
7:framework调用I/O completion回调函数。
8:当最后UMDF的I/O completion回调函数返回后,framework会将完成标识符和数据传递给反射器。
9:反射器将原始的IRP设置成完成,并告之I/O管理器,最后由I/O管理器来通知上层程序本次IRP操作已经完成。
- IRP详解(3)----UMDF下处理流程
- IRP 处理流程
- IRP 处理流程
- IRP 处理流程
- IRP详解(1)----请求类型
- IRP详解(2)----传输类型
- WDM驱动之IRP处理:取消IRP
- WDM驱动之IRP处理:取消IRP
- 处理取消IRP
- IRP处理模型
- 3.4 IRP处理
- IRP的超时处理
- IRP 处理浅析
- IRP IO_STACK_LOCATION详解
- 菜鸟WDF驱动开发系列(3):安装与调试第一个UMDF驱动程序
- 同步,异步IRP的处理
- 同步,异步IRP的处理
- struts2请求处理流程详解
- 贪心算法
- 邮件系统的组成
- 如何掌握程序语言
- Oracle ref cursor使用
- PicoContainer(Ioc容器)在测试用例中的应用(一)
- IRP详解(3)----UMDF下处理流程
- PicoContainer(Ioc容器)在测试用例中的应用(二)
- JMX : Remote Management
- EM算法简介
- 学生表 课程表 成绩表 教师表 50个常用sql语句
- 【Dana的马尔代夫游记】终极篇~~~希尔顿伊露岛~~天堂之梦~~各种图~(一)
- C/C++中extern关键字详解
- linux0.11内存memory.c一些函数的简单的注释(一)
- C/C++数组名与指针区别深入探索