Windows 7设备驱动程序开发
基本信息
编辑推荐
Windows 7设备驱动程序开发必备
融汇作者多年开发经验
深入底层探究研发之道
内容简介回到顶部↑
《windows 7设备驱动程序开发》介绍了编写全新windows 7 操作系统的设备驱动程序所需的全部技术。本书共包括3 个部分:设备驱动程序体系结构概述、用户模式驱动程序和内核模式驱动程序。第一部分介绍设备处理程序软硬件开发所涉及的体系结构、umdf 和kmdf,以及开发umdf 和kmdf 驱动程序所需的环境。第二部分介绍用户模式驱动程序的方法、设计、开发和调试。主要介绍使用umdf 以及c++ 进行用户模式驱动程序开发。第三部分介绍内核模式驱动程序的方法、设计、开发和调试。主要介绍使用kmdf 以及c 语言开发内核模式驱动程序。
《windows 7设备驱动程序开发》适合windows 7 驱动程序开发人员阅读。
《windows 7设备驱动程序开发》适合windows 7 驱动程序开发人员阅读。
作译者回到顶部↑
本书提供作译者介绍
Ronald D. Reeves
工 程学和计算机科学专业双料博士。他具有40多年的计算机硬件、软件和驱动程序的设计和开发经验,是软件开发和咨询公司Software Genesis的创始人兼董事长。他是美国知名的技术作家、咨询顾问和教师,是Win32 System Services(Prentice Hall, 2001)的作者之一,曾为两本介绍设备驱动程序的图书做过技术审稿人。目前他在劳伦斯理工大学和克利里大学教授研究生课程。
.. << 查看详细
工 程学和计算机科学专业双料博士。他具有40多年的计算机硬件、软件和驱动程序的设计和开发经验,是软件开发和咨询公司Software Genesis的创始人兼董事长。他是美国知名的技术作家、咨询顾问和教师,是Win32 System Services(Prentice Hall, 2001)的作者之一,曾为两本介绍设备驱动程序的图书做过技术审稿人。目前他在劳伦斯理工大学和克利里大学教授研究生课程。
.. << 查看详细
目录回到顶部↑
《windows 7设备驱动程序开发》
第一部分 设备驱动程序体系结构概述
第1 章 对象 2
1.1 对象的本质 2
1.2 软件对象是什么 2
1.3 预备知识 4
1.4 软件组件 4
第2 章 wdf 体系结构 6
2.1 wdf 组件的功能 6
2.2 wdf 的设计目标 7
2.3 wdf 中的设备和驱动程序支持 7
2.4 wdf 驱动程序模型 8
2.5 wdf 对象模型 9
2.5.1 内核模式对象 10
2.5.2 用户模式对象 10
2.6 即插即用和电源管理支持 11
2.7 集成的i/o 排队和取消 12
2.7.1 并发 12
2.7.2 i/o 模型 13
2.7.3 i/o 请求流程 13
第一部分 设备驱动程序体系结构概述
第1 章 对象 2
1.1 对象的本质 2
1.2 软件对象是什么 2
1.3 预备知识 4
1.4 软件组件 4
第2 章 wdf 体系结构 6
2.1 wdf 组件的功能 6
2.2 wdf 的设计目标 7
2.3 wdf 中的设备和驱动程序支持 7
2.4 wdf 驱动程序模型 8
2.5 wdf 对象模型 9
2.5.1 内核模式对象 10
2.5.2 用户模式对象 10
2.6 即插即用和电源管理支持 11
2.7 集成的i/o 排队和取消 12
2.7.1 并发 12
2.7.2 i/o 模型 13
2.7.3 i/o 请求流程 13
前言回到顶部↑
本书提供了编写全新Windows 7操作系统的设备驱动程序所需的技术指南和说明。本书介绍了这项非常复杂的编程开发工作,以及Windows驱动程序框架对这项工作的巨大简化。书中阐述了驱动程序开发人员必须了解的硬件和软件体系结构。但本书的重点是围绕开发两类驱动程序所必须采用的实际开发步骤展开的。所以,本书采用注重实效的方法,根据实际的设备处理程序开发过程,来介绍各种软件API以及计算机硬件和设备硬件。
创建和调试设备驱动程序这门艺术目前已经有了很大的进展。现在已有很多与驱动程序框架有关的面向对象设计技术,可供设备驱动程序开发人员使用。过去开发时要做的许多脏活累活,现在已经由最新推出的设备开发框架WDF(Windows Driver Foundation,Windows驱动程序基础)代为处理了。本书既介绍了用户模式设备驱动程序的开发,还介绍了内核模式设备驱动程序的开发。WDF拥有优秀的子模型,称为用户模式驱动程序框架(UMDF)和内核模式驱动程序框架(KMDF)。
Windows设备驱动程序的创建过程中用到了Windows驱动程序框架,这真是件令人高兴的事。我从1990年就开始从事Windows开发,主要使用Win32系统API与Windows操作系统通信以及控制Windows操作系统。我们用DDK(Device Driver Kit,设备驱动程序开发包),创建Windows驱动程序。因为有自己的应用软件公司,所以我非常关心开发应用软件需要的时间以及应用程序的健壮性。开发驱动程序需要使用2000多个Win32 API。
大约在1992年,微软公司推出了MFC(Microsoft框架类)。在这600多个类中封装了大多数Win32 API。当然,在此之前,大约在1988年就已经推出了C++编译器,而且面向对象编程开始成型。使用MFC框架可以更快地开发出更多软件,同时质量更好。我的投资回报率(ROI)增加了,因此赚了更多的钱。这让我极力推崇框架的使用。我一直使用MFC,直到.NET Framework出现,在过去9年中,我一直在使用这个优秀的类集合。与此同时,微软公司一直努力将同样的软件开发改进也带到设备驱动程序开发工作中来。我们从DDK发展到Windows驱动程序模型,再到Windows驱动程序基础框架。
所以,本书阐明了如何使用Windows驱动程序基础框架创建Windows 7设备驱动程序。它可以让驱动程序开发人员在完成任务时更加轻松。
本书分为如下三部分。
第一部分“设备驱动程序体系结构概述”。该部分介绍设备处理程序软硬件开发涉及的体系结构,还介绍通常要开发的两类驱动程序(UMD和KMD)所需的开发环境。这一部分还介绍了当前驱动程序设备开发最常用的两个Windows驱动程序框架:UMDF和KMDF。
第二部分“用户模式驱动程序”。该部分介绍用户模式驱动程序的方法、设计、开发和调试。该部分将引导驱动程序开发人员从头开始完成用户模式驱动程序的开发,主要使用UMDF完成开发工作。代码是用C++编写的,因为C++是开发此类驱动程序的最佳方式。其中将围绕用UMDF开发的一个USB用户模式驱动程序展开讨论。我们使用来自OSR(Open Systems Resources)公司的USB硬件学习工具包。这为我们提供了测试用户模式驱动程序所需的硬件模拟。这一部分内容自成体系,与本书其他部分的知识无联系。但阅读第一部分将对本部分内容的学习有所帮助。
第三部分“内核模式驱动程序”。该部分介绍内核模式驱动程序的方法、设计、开发和调试。该部分同样从头开始全面介绍了内核模式驱动程序的开发,主要使用KMDF完成开发工作。代码用C语言编写,因为这是开发此类驱动程序的最佳方式。其中将围绕用KMDF开发的一个内核模式驱动程序展开讨论。我们使用来自OSR公司的一个PCI(外部组件互联)硬件学习工具包。这为我们提供了测试内核模式驱动程序所需的硬件模拟。这一部分内容自成体系,与本书其他部分的知识无联系。但阅读第一部分将对本部分内容的学习有所帮助。
致谢
首先感谢Pearson Education出版社的编辑Bernard Goodwin,给了我编写本书的机会。他在本书的准备阶段给予了我大量的支持。还要感谢他的助理Michelle Housley及时给我提供参考图书和参考资料。另外还要感谢Pearson Education出版社的视频项目经理John Herrin在为本书创建视频方面提供的支持和帮助。感谢开发编辑Michael Thurston对本书的润色。
创建和调试设备驱动程序这门艺术目前已经有了很大的进展。现在已有很多与驱动程序框架有关的面向对象设计技术,可供设备驱动程序开发人员使用。过去开发时要做的许多脏活累活,现在已经由最新推出的设备开发框架WDF(Windows Driver Foundation,Windows驱动程序基础)代为处理了。本书既介绍了用户模式设备驱动程序的开发,还介绍了内核模式设备驱动程序的开发。WDF拥有优秀的子模型,称为用户模式驱动程序框架(UMDF)和内核模式驱动程序框架(KMDF)。
Windows设备驱动程序的创建过程中用到了Windows驱动程序框架,这真是件令人高兴的事。我从1990年就开始从事Windows开发,主要使用Win32系统API与Windows操作系统通信以及控制Windows操作系统。我们用DDK(Device Driver Kit,设备驱动程序开发包),创建Windows驱动程序。因为有自己的应用软件公司,所以我非常关心开发应用软件需要的时间以及应用程序的健壮性。开发驱动程序需要使用2000多个Win32 API。
大约在1992年,微软公司推出了MFC(Microsoft框架类)。在这600多个类中封装了大多数Win32 API。当然,在此之前,大约在1988年就已经推出了C++编译器,而且面向对象编程开始成型。使用MFC框架可以更快地开发出更多软件,同时质量更好。我的投资回报率(ROI)增加了,因此赚了更多的钱。这让我极力推崇框架的使用。我一直使用MFC,直到.NET Framework出现,在过去9年中,我一直在使用这个优秀的类集合。与此同时,微软公司一直努力将同样的软件开发改进也带到设备驱动程序开发工作中来。我们从DDK发展到Windows驱动程序模型,再到Windows驱动程序基础框架。
所以,本书阐明了如何使用Windows驱动程序基础框架创建Windows 7设备驱动程序。它可以让驱动程序开发人员在完成任务时更加轻松。
本书分为如下三部分。
第一部分“设备驱动程序体系结构概述”。该部分介绍设备处理程序软硬件开发涉及的体系结构,还介绍通常要开发的两类驱动程序(UMD和KMD)所需的开发环境。这一部分还介绍了当前驱动程序设备开发最常用的两个Windows驱动程序框架:UMDF和KMDF。
第二部分“用户模式驱动程序”。该部分介绍用户模式驱动程序的方法、设计、开发和调试。该部分将引导驱动程序开发人员从头开始完成用户模式驱动程序的开发,主要使用UMDF完成开发工作。代码是用C++编写的,因为C++是开发此类驱动程序的最佳方式。其中将围绕用UMDF开发的一个USB用户模式驱动程序展开讨论。我们使用来自OSR(Open Systems Resources)公司的USB硬件学习工具包。这为我们提供了测试用户模式驱动程序所需的硬件模拟。这一部分内容自成体系,与本书其他部分的知识无联系。但阅读第一部分将对本部分内容的学习有所帮助。
第三部分“内核模式驱动程序”。该部分介绍内核模式驱动程序的方法、设计、开发和调试。该部分同样从头开始全面介绍了内核模式驱动程序的开发,主要使用KMDF完成开发工作。代码用C语言编写,因为这是开发此类驱动程序的最佳方式。其中将围绕用KMDF开发的一个内核模式驱动程序展开讨论。我们使用来自OSR公司的一个PCI(外部组件互联)硬件学习工具包。这为我们提供了测试内核模式驱动程序所需的硬件模拟。这一部分内容自成体系,与本书其他部分的知识无联系。但阅读第一部分将对本部分内容的学习有所帮助。
致谢
首先感谢Pearson Education出版社的编辑Bernard Goodwin,给了我编写本书的机会。他在本书的准备阶段给予了我大量的支持。还要感谢他的助理Michelle Housley及时给我提供参考图书和参考资料。另外还要感谢Pearson Education出版社的视频项目经理John Herrin在为本书创建视频方面提供的支持和帮助。感谢开发编辑Michael Thurston对本书的润色。







点击看大图

加载中...

