教育资源为主的文档平台

当前位置: 查字典文档网> 所有文档分类> IT计算机> windows相关> WDM驱动程序设计

WDM驱动程序设计

上传者:马宁圣
|
上传时间:2015-05-10
|
次下载

WDM驱动程序设计



WDM 驱动程序设计


一.WDM 简介
微软不断推出新的操作系统,现在Windows98 和Windows2000 已经成了主流,原先用来
实现驱动程序的 VxD 技术随着 Win95 的淡出也慢慢地将退出历史舞台,在 Windows98 和
Windows2000 中设备驱动程序将根据Windows 驱动程序模型(WDM)来设计。WDM 通过提供一
种灵活的方式来简化驱动程序的开发,在实现对新硬件支持的基础上减少并降低所必须开发
的驱动程序的数量和复杂性。
Windows 驱动程序模型分两个方面,除了核心模型描述设备驱动程序的标准结构外,WDM
还为常见类型的设备实现了一个模块化的、分层次类型的总线驱动程序和类驱动程序。总线
驱动程序实现了支持通用串行总线(USB)、IEEE1394(FireWire)协议等。类驱动程序是为
实现标准Windows 功能提供条件。WDM 对标准类接口的支持减少了Windows 95 和Windows
NT 所需的设备驱动程序的数量和复杂性。在Windows 平台上,WDM 将成为21 世纪主流的驱动
模式。
WDM 支持USB、IEEE 1394、ACPI 等全新的硬件标准。而且以往在两个平台上同时运行
时需要编写两个截然不同的驱动程序,现在只需要编写一个 WDM 驱动程序就可以了。WDM 驱
动程序也是分层的,即不同层上的驱动程序有着不同的优先级,而 Windows 9x 下的 VxD
则没有此结构。





WDM 还引入了功能设备对象FDO(Functional Device Object)与物理设备对象PDO
(Physical Device Object)两个新类来描述硬件,一个PDO 对应一个真实硬件。一个
硬件只允许有一个PDO,却可以拥有多个FDO,在驱动程序中直接操作的不是硬件而是相应的
PDO 与FDO。在用户态和内核态通讯方面,系统为每一个用户请求打包形成一个IRP 结构,将
其发送至驱动程序,并通过识别IRP 中的PDO 来区别是发送给哪一个设备的。另外,在驱动
程序的加载方面,WDM 不通过驱动程序名称识别,而是通过一个128 位的全局唯一标识符GUID
来实现驱动程序的识别。我们用上图来说明设备驱动程序的分层及调用。
写WDM 和其它模式驱动程序基本上是相同的,代码中的主要区别在于如何创建设备。
在WDM 驱动程序中,即插即用(PnP)管理器告知何时向系统添加一个设备,或者从系统
删除设备。PnP 管理器使用安装的 INF 文件查找新设备的正确驱动程序;而其它模式驱动程
序必须发现它自己的设备,使用专门的安装程序安装。
另外在细节上也存在很多区别,其它模式驱动程序参数一般由注册表提供,在 DriverEntry
里调用读注册表的函数,然后根据注册表再调用CreateDevice,但是WDM 一般不是这样,这
是由于Windows 2000 下支持PnP,在加载的时候PnP 管理器调用AddDevice 入口点创建设
备。一般在DriverEntry 里创建的是一个与设备或者对象毫无关系的虚拟设备,用于管理与
Win32 的通讯。如果不想对该设备做什么特别的处理,或者设备不复杂,AddDevice 可以简单
返回Nt_Success,不用调用CreateDevice。
另外整个设备驱动树也发生了改变,从而使安装程序发生了很大的改变。WDM 本身的PNP
管理器被抽象地提升到了ROOT 的地位。PNP 管理器负责所有的总线驱动程序的加载。总线驱
动程序则负责遍历所有位于总线上的设备,并且为每个设备创建相应的设备对象。当PNP 管

版权声明:此文档由查字典文档网用户提供,如用于商业用途请与作者联系,查字典文档网保持最终解释权!

下载文档

热门试卷

2016年四川省内江市中考化学试卷
广西钦州市高新区2017届高三11月月考政治试卷
浙江省湖州市2016-2017学年高一上学期期中考试政治试卷
浙江省湖州市2016-2017学年高二上学期期中考试政治试卷
辽宁省铁岭市协作体2017届高三上学期第三次联考政治试卷
广西钦州市钦州港区2016-2017学年高二11月月考政治试卷
广西钦州市钦州港区2017届高三11月月考政治试卷
广西钦州市钦州港区2016-2017学年高一11月月考政治试卷
广西钦州市高新区2016-2017学年高二11月月考政治试卷
广西钦州市高新区2016-2017学年高一11月月考政治试卷
山东省滨州市三校2017届第一学期阶段测试初三英语试题
四川省成都七中2017届高三一诊模拟考试文科综合试卷
2017届普通高等学校招生全国统一考试模拟试题(附答案)
重庆市永川中学高2017级上期12月月考语文试题
江西宜春三中2017届高三第一学期第二次月考文科综合试题
内蒙古赤峰二中2017届高三上学期第三次月考英语试题
2017年六年级(上)数学期末考试卷
2017人教版小学英语三年级上期末笔试题
江苏省常州西藏民族中学2016-2017学年九年级思想品德第一学期第二次阶段测试试卷
重庆市九龙坡区七校2016-2017学年上期八年级素质测查(二)语文学科试题卷
江苏省无锡市钱桥中学2016年12月八年级语文阶段性测试卷
江苏省无锡市钱桥中学2016-2017学年七年级英语12月阶段检测试卷
山东省邹城市第八中学2016-2017学年八年级12月物理第4章试题(无答案)
【人教版】河北省2015-2016学年度九年级上期末语文试题卷(附答案)
四川省简阳市阳安中学2016年12月高二月考英语试卷
四川省成都龙泉中学高三上学期2016年12月月考试题文科综合能力测试
安徽省滁州中学2016—2017学年度第一学期12月月考​高三英语试卷
山东省武城县第二中学2016.12高一年级上学期第二次月考历史试题(必修一第四、五单元)
福建省四地六校联考2016-2017学年上学期第三次月考高三化学试卷
甘肃省武威第二十三中学2016—2017学年度八年级第一学期12月月考生物试卷

网友关注视频

北师大版八年级物理下册 第六章 常见的光学仪器(二)探究凸透镜成像的规律
三年级英语单词记忆下册(沪教版)第一二单元复习
沪教版八年级下次数学练习册21.4(2)无理方程P19
六年级英语下册上海牛津版教材讲解 U1单词
第19课 我喜欢的鸟_第一课时(二等奖)(人美杨永善版二年级下册)_T644386
苏科版数学 八年级下册 第八章第二节 可能性的大小
二年级下册数学第三课 搭一搭⚖⚖
8 随形想象_第一课时(二等奖)(沪教版二年级上册)_T3786594
北师大版数学四年级下册第三单元第四节街心广场
冀教版小学英语五年级下册lesson2教学视频(2)
第五单元 民族艺术的瑰宝_16. 形形色色的民族乐器_第一课时(岭南版六年级上册)_T3751175
七年级下册外研版英语M8U2reading
七年级英语下册 上海牛津版 Unit9
苏科版八年级数学下册7.2《统计图的选用》
第五单元 民族艺术的瑰宝_15. 多姿多彩的民族服饰_第二课时(市一等奖)(岭南版六年级上册)_T129830
化学九年级下册全册同步 人教版 第22集 酸和碱的中和反应(一)
3.2 数学二年级下册第二单元 表内除法(一)整理和复习 李菲菲
沪教版牛津小学英语(深圳用) 四年级下册 Unit 2
【获奖】科粤版初三九年级化学下册第七章7.3浓稀的表示
人教版二年级下册数学
《空中课堂》二年级下册 数学第一单元第1课时
外研版八年级英语下学期 Module3
沪教版牛津小学英语(深圳用) 六年级下册 Unit 7
3月2日小学二年级数学下册(数一数)
二年级下册数学第一课
北师大版数学四年级下册3.4包装
沪教版牛津小学英语(深圳用)五年级下册 Unit 1
【部编】人教版语文七年级下册《逢入京使》优质课教学视频+PPT课件+教案,安徽省
沪教版牛津小学英语(深圳用) 四年级下册 Unit 12
冀教版小学数学二年级下册第二单元《有余数除法的整理与复习》