chapter 4.6: KMDF子架构
来源:互联网 发布:wap淘宝流量来源安全吗 编辑:程序博客网 时间:2024/05/21 00:47
KMDF 子结构的组件
包括framework, KMDF drivers,其他drivers
The Framework
KMDF是一个runtime component
而UMDF有多个runtime components
若系统中有多个major version,则每个version一个实例。
每个KMDF driver告知framework创建它们的framework device object,framework反过来创建对应的WDM device object,加入设备栈中。
为function driver创建FDO,并加入到栈中所有lower filter drivers之上
所以device stack中WDF,WDM driver可以共存。
目的:管理IRP flow,支持KMDF DDI,支持object model,跟踪系统状态,默认事件处理
KMDF Driver
类似port-miniprot model:Framework为port,driver为miniport,(不同点:KMDF不限制对DDI的调用)
其他driver
如图,支持WDM driver
当为KMDF driver时,framework会创建framework request object
Fatal Error
framework产生bug check
WDF_VIOLATION错误码,四个参数,第一个为错误类线
典型的KMDF I/O request
应用程序通过device interface获得device symbolic link name,再调用Createfile获得device句柄
典型的KMDF I/O request:
1.应用程序调用ReadFile/WriteFile发出I/O请求,Windows调用KM I/O 函数把请求传给I/O manager
2.I/O manager创建IRP,传给顶层device stack
3.若是KMDF driver,framework把IRP转换为framework request object,再传给KMDF driver
4.driver把结果返回给framework:若完成失败,framework完成IRP请求,返回给I/O manager;否则,生成IRP传给I/O manager ,再传给下一级driver
5.driver注册I/O completion callback函数
6.当请求完成时framework调用driver的I/O completion callback
- chapter 4.6: KMDF子架构
- chapter 4.3: KMDF介绍
- chapter 5.3: KMDF对象模型实现
- chapter 6.7: KMDF设备对象的创建和初始化
- chapter 4.4: WDF架构介绍
- Chapter 2. Architecture - 第二章 架构
- 关于umdf 和 kmdf
- KMDF大致框架
- KMDF Version History
- KMDF的WDFREQUEST对象
- Chapter
- 调试第一个KMDF驱动程序
- KMDF规则 MDSN
- chapter 17: 类继承和子类型 心得
- Chapter 2-最大子序列和问题的解
- WDF驱动中KMDF与UMDF区别
- Writing a very small KMDF driver
- WDF驱动中KMDF与UMDF区别
- 题目1007:奥运排序问题
- 转:Pebble智能手表的工作原理与构造解析
- C#实现RSA加密解密源码
- 使用java调用C语言的方法,让java获取串口数据并生成一个String对象的代码。
- 基于MPlayer的QT媒体播放器
- chapter 4.6: KMDF子架构
- 经典的核函数分析学习
- Winform打包程序制作的快捷方式指向错误的位置(指向安装包文件)
- webkit介绍文章
- 【Codeigniter-Upload类】阻止上传同名文件
- 启动笔记本 内置的wifi
- 时钟频率
- 带下界的网络流和费用流
- 关于XP系统一些奇怪错误的收集