您所在的位置: 首页>>读书频道>>设计开发>>其它开发>>

17.3.1 功能驱动与物理总线驱动

http://book.51cto.com  2008-07-07 10:07  张帆/史彩成等编著  电子工业出版社  我要评论(0)
  • 摘要:《Windows驱动开发技术详解》第17章USB设备驱动,这一章首先介绍USB协议,使大家对USB协议有个整体认识,然后介绍USB设备在WDM中的开发框架,本节为大家介绍的是功能驱动与物理总线驱动。
  • 标签:Windows  驱动  开发  技术  Windows驱动开发技术详解

17.3  USB驱动开发实例

本节具体介绍如何进行USB驱动的开发,本节采用的源码来源自DDK的源程序,其位置在DDK子目录的src\wdm\usb\bulkusb目录下。该示例很全面地支持了即插即用IRP的处理,也很全面地支持了电源管理,同时很好地支持了USB设备的bulk读写。如果从头开发USB驱动,往往很难达到USB驱动的稳定性,所以强烈建议读者在此驱动修改的基础上进行USB驱动开发。

17.3.1  功能驱动与物理总线驱动

DDK已经为USB驱动开发人员提供了功能强大的USB物理总线驱动(PDO),程序员需要做的事情是完成功能驱动(FDO)的开发。驱动开发人员不需要了解USB如何将请求转化成数据包等细节,程序员只需要指定何种管道,发送何种数据即可。

当功能驱动想向某个管道发出读写请求时,首先构造请求发给USB总线驱动。这种请求是标准的USB请求,被称为URB(USB Request Block),即USB请求块。这种URB被发送到USB物理总线驱动以后,被USB总线驱动所解释,进而转化成请求发往USB HOST驱动或者USB HUB驱动,如图17-21所示。

 
图17-21  总线驱动与功能驱动的关系
可以看出,USB总线驱动完成了大部分工作,并留给USB功能驱动标准的接口,即URB请求。USB驱动开发人员只需要根据不同的USB设备的设计要求,在相应的管道中发起URB请求即可。
【责任编辑:夏书 TEL:(010)68476606】

回书目   上一节   下一节
深入Vista应用程序开发
Hyper-V 虚拟化技术专题
让你的代码“炫”起来——WPF开发教程
重复数据删除技术
2008年上半年IT技术图书阅读排行大盘点
 
 验证码: (点击刷新验证码)   匿名发表
  • Visual C++ 完全自学宝典

  • 作者:强锋科技,朱洪波
  • Visual C++ 6.0是微软公司为程序人员提供的Visual Studio 6.0工具套件中的重要组成部分。本书由浅入深地介绍使用Visual C++ 6.0..
Copyright©2005-2008 51CTO.COM 版权所有