![驱动程序入门_第1页](http://file4.renrendoc.com/view/f1bcf2fc9fa59b8bfa3c65c69be3c537/f1bcf2fc9fa59b8bfa3c65c69be3c5371.gif)
![驱动程序入门_第2页](http://file4.renrendoc.com/view/f1bcf2fc9fa59b8bfa3c65c69be3c537/f1bcf2fc9fa59b8bfa3c65c69be3c5372.gif)
![驱动程序入门_第3页](http://file4.renrendoc.com/view/f1bcf2fc9fa59b8bfa3c65c69be3c537/f1bcf2fc9fa59b8bfa3c65c69be3c5373.gif)
![驱动程序入门_第4页](http://file4.renrendoc.com/view/f1bcf2fc9fa59b8bfa3c65c69be3c537/f1bcf2fc9fa59b8bfa3c65c69be3c5374.gif)
![驱动程序入门_第5页](http://file4.renrendoc.com/view/f1bcf2fc9fa59b8bfa3c65c69be3c537/f1bcf2fc9fa59b8bfa3c65c69be3c5375.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
什么是驱动程序?为术语“驱动程序”给出单一的准确定义比较困难。就最基本的意义而言,驱动程序是一个软件组件,可让操作系统和设备彼此通信。例如,假设应用程序需要从设备中读取某些数据。应用程序会调用由操作系统实现的函数,操作系统会调用由驱动程序实现的函数。驱动程序(由设计和制造该设备的同一公司编写)了解如何与设备硬件通信以获取数据。当驱动程序从设备获取数据后,它会将数据返回到操作系统,操作系统将数据返回至应用程序。扩大定义到目前为止,我们的说明采用以下几种方式进行简单化:并非所有驱动程序都必须由设计该设备的公司编写。在多种情形下,设备根据已发布的硬件标准来设计。这表示驱动程序可以由Microsoft编写,设备设计者无须提供驱动程序。并非所有驱动程序都直接与设备通信。对于给定的I/O请求(如从设备读取数据),通常有一些驱动程序(在堆栈中进行分层)参与该请求。可视化堆栈的传统方式是将第一个参与对象放在顶部,将最后一个参与对象放在底部,如此图所示。堆栈中的某些驱动程序可能通过将请求从一种格式转换至另一种格式来参与。这些驱动程序不会与设备直接通信;它们只操纵请求并将请求传递至堆栈下方的驱动程序。堆栈中直接与设备通信的一个驱动程序称为“函数驱动程序”;执行辅助处理的驱动程序称为“筛选器驱动程序”。某些筛选器驱动程序遵守并记录有关I/O请求的信息,但不会主动参与这些请求。例如,某些筛选器驱动程序充当验证程序以确保堆栈中的其他驱动程序正确处理I/O请求。我们可以扩大“驱动程序”的定义,方法是表示驱动程序为遵守或参与操作系统与设备之间通信的任一软件组件。软件驱动程序我们的扩大定义相当准确,但仍不完整,原因是某些驱动程序与任何硬件设备根本不关联。例如,假设你需要编写可以访问核心操作系统数据结构的工具,这些结构仅可以由内核模式下运行的代码进行访问。可以通过将工具拆分成两个组件来执行该操作。第一个组件在用户模式下运行且提供用户界面。第二个组件在内核模式下运行且可以访问核心操作系统数据。在用户模式下运行的组件称为应用程序,在内核模式下运行的组件称为“软件驱动程序”。软件驱动程序与硬件设备不关联。有关处理器模式的详细信息,请参阅用户模式和内核模式。是否需要编写驱动程序?0(共1)对本文的评价是有帮助
-
\o"评价此主题"评价此主题MicrosoftWindows包含适用于许多设备类型的内置驱动程序。如果有适用于你的设备类型的内置驱动程序,则不必自行编写驱动程序。你的设备可以使用内置的驱动程序。适用于USB设备的内置驱动程序如果你的设备属于由USB设备工作组(DWG)定义的设备类,则可能已经存在适用于该设备的WindowsUSB类驱动程序。有关详细信息,请参阅支持的USB设备类的驱动程序。适用于其他设备的内置驱动程序目前,Microsoft为以下其他类型的设备提供内置驱动程序:设备技术和驱动程序内置驱动程序Windows支持描述ACPI:ACPI驱动程序Acpi.sysWindowsXP及更高版本Microsoft通过Acpi.sys驱动程序和ACPIBIOS,为基本的ACPI设备功能提供支持。为增强ACPI设备的功能,供应商可以提供WDM功能驱动程序。有关WindowsACPI支持的详细信息,请参阅ACPI设计指南中的支持ACPI设备。音频:Microsoft音频类驱动程序PortCls.sysWindowsXP及更高版本Microsoft通过自身的端口类驱动程序(PortCl)为基本的音频渲染和音频捕捉提供支持。音频设备的硬件供应商有责任提供兼容PortCl的适配器驱动程序。适配器驱动程序包括初始化代码、驱动程序管理代码(包括DriverEntry功能)和音频微型端口驱动程序的集合。有关详细信息,请参阅端口类简介。总线:本机SD总线驱动程序、本机SD存储类驱动程序和存储微型端口驱动程序sdbus.sys、sffdisk.sys、sffp_sd.sysWindowsVista及更高版本Microsoft为SD读卡器提供如下支持:操作系统为直接连接到PCI总线的SD主机控制器提供支持。当系统枚举SD主机控制器时,会加载本机SD总线驱动程序(sdbus.sys)。如果用户插入SD内存卡,则除总线驱动程序以外,Windows还会加载本机SD存储类驱动程序(sffdisk.sys)和存储微型端口驱动程序(sffp_sd.sys)。如果用户插入具有其他类型功能的SD卡(例如GPS或无线LAN),则Windows会加载供应商为该设备提供的驱动程序。HID:HIDI2C驱动程序HIDI2C.sysWindows8及更高版本Microsoft为支持简单外设总线(SPB)和通用I/O(GPIO)的SoC系统上的HIDoverI2C设备提供支持。它通过HIDI2C.sys驱动程序实现此支持。有关详细信息,请参阅
HIDoverI2C。HID:传统游戏端口驱动程序HidGame.sys、Gameenum.sysWindows
VistaWindowsServer
2003Windows
XP在Windows
Vista及更早版本中,Microsoft通过HidGame.sys和Gameenum.sys驱动程序为传统(非USB、非蓝牙、非I2C)游戏端口提供支持。有关详细信息,请参阅
Windows中支持的HID传输。HID:传统键盘类驱动程序Kbdclass.sysWindowsXP及更高版本Microsoft通过Kbdclass.sys驱动程序为传统(非USB、非蓝牙、非I2C)键盘提供支持。有关详细信息,请参阅键盘和鼠标HID客户端驱动程序。为增强传统键盘的功能,供应商可以提供键盘筛选器驱动程序。有关详细信息,请参阅
MSDN代码库中的Kbfiltr示例。HID:传统鼠标类驱动程序Mouclass.sysWindowsXP及更高版本Microsoft通过Mouclass.sys驱动程序为传统(非USB、非蓝牙、非I2C)鼠标提供支持。键盘和鼠标HID客户端驱动程序。为增强传统鼠标的功能,供应商可以提供鼠标筛选器驱动程序。有关详细信息,请参阅
MSDN代码库中的Moufiltr示例。HID:PS/2(i8042prt)驱动程序I8042prt.sysWindowsXP及更高版本Microsoft通过I8042.sys驱动程序为传统PS/2键盘和鼠标提供支持。为增强PS/2鼠标或键盘的功能,供应商可以提供键盘或鼠标筛选器驱动程序。有关详细信息,请参阅MSDN代码库中的
Kbfiltr示例和
Moufiltr示例。映像:设备的Web服务(WSD)扫描类驱动程序WSDScan.sysWindowsVista及更高版本Microsoft通过WSD扫描驱动程序(wsdscan.sys)为Web服务扫描程序(即在Web上使用的扫描程序)提供支持。但是,支持WSD分布式扫描管理的Web服务扫描程序设备必须实现两个Web服务协议。有关详细信息,请参阅使用设备Web服务的WIA。打印:Microsoft绘图仪驱动程序MsplotWindowsXP及更高版本Microsoft通过Microsoft绘图仪驱动程序(Msplot)为支持惠普图形语言的绘图仪提供支持。为增强绘图仪的功能,你可以创建由一个或多个绘图仪特性数据(PCD)文件组成的微型驱动程序。有关详细信息,请参阅绘图仪驱动程序微型驱动程序。打印:MicrosoftPostScript打印机驱动程序PscriptWindowsXP及更高版本Microsoft通过PostScript打印机驱动程序(Pscript)为PostScript打印机提供支持。为增强PostScript打印机的功能,你可以创建由一个或多个PostScript打印机描述(PPD)文件和字体(NTF)文件组成的微型驱动程序。有关详细信息,请参阅Pscript微型驱动程序。打印:Microsoft通用打印机驱动程序UnidrvWindowsXP及更高版本Microsoft通过通用打印机驱动程序(Unidrv)为非PostScript打印机提供支持。为增强非PostScript打印机的功能,你可以创建由一个或多个通用打印机描述(GPD)文件组成的微型驱动程序。有关详细信息,请参阅
Microsoft通用打印机驱动程序。打印:Microsoft第4版打印机驱动程序Windows8及更高版本从Windows
8开始,Microsoft提供了支持PostScript和非PostScript打印机以及绘图仪的单个内置类驱动程序。该驱动程序可取代Microsoft绘图仪驱动程序、Microsoft通用打印机驱动程序和MicrosoftPostScript打印机驱动程序。该打印机驱动程序可通过自身提供基本的打印支持,无需任何修改。有关详细信息,请参阅第4版打印机驱动程序。打印:MicrosoftXPS打印机驱动程序XPSDrvWindowsVista及更高版本Microsoft通过XPS打印机驱动程序(XPSDrv)为打印XPS文档格式提供支持。该驱动程序扩展了Microsoft基于GDI的第3版打印机驱动程序体系结构,可支持消耗XML纸张规范(XPS)文档。通过XPSDrv打印机驱动程序,XPS文档格式可用作后台打印文件格式和文档文件格式。该XPSDrv打印机驱动程序可通过自身提供基本的XPS打印支持,无需任何修改。有关详细信息,请参阅
XPSDrv打印机驱动程序。传感器:传感器HID类驱动程序SensorsHIDClassDriver.dllWindows8及更高版本Microsoft通过HID类驱动程序为笔和触摸设备提供支持。由于Windows
8包括此HID类驱动程序和相应的HIDI2C及HIDUSB微型端口驱动程序,因此你不需要实现自己的驱动程序。你只需在指针设备的固件中报告此白皮书中描述的使用方法。Windows将使用你的固件及其HID驱动程序启用设备的触摸和指针功能,并为Windows触摸和指针API提供访问该设备的权限。触摸:Windows指针设备驱动程序Windows8及更高版本Microsoft通过HID类驱动程序为笔和触摸设备提供支持。由于Windows
8包括此HID类驱动程序和相应的HIDI2C及HIDUSB微型端口驱动程序,因此你不需要实现自己的驱动程序。你只需在指针设备的固件中报告此白皮书中描述的使用方法。Windows将使用你的固件及其HID驱动程序启用设备的触摸和指针功能,并为Windows触摸和指针API提供访问该设备的权限。WPD:媒体传输协议类驱动程序WpdMtpDr.dll、WpdMtp.dll、WpdMtpUs.dll、WpdConns.dll和WpdUsb.sysWindowsVista及更高版本Microsoft通过媒体传输协议类驱动程序为需要连接Windows的便携设备(例如,音乐播放器、数字相机、手机和健康监控设备)提供支持。使用该类驱动程序的供应商必须在设备上实现MTP类协议。(对于静物数字相机,MTP实现必须与PTP后向兼容。)有关详细信息,请参阅硬件供应商指南。
选择驱动程序模型4(共6)对本文的评价是有帮助
-
\o"评价此主题"评价此主题MicrosoftWindows提供了多种驱动程序模型,你可以使用这些模型编写驱动程序。最佳驱动程序模型的选择策略取决于你计划编写的驱动程序类型。下文介绍了这些选项:设备函数驱动程序设备筛选器驱动程序软件驱动程序文件系统筛选器驱动程序文件系统驱动程序有关各种类型驱动程序之间差异的介绍,请参阅什么是驱动程序?和设备节点和设备堆栈。以下部分说明了如何为每种类型的驱动程序选择模型。为设备函数驱动程序选择驱动程序模型当你设计一个硬件设备时,首先要考虑的事项之一就是你是否需要编写函数驱动程序。提出下列问题:是否可以完全避免编写驱动程序?如果必须编写函数驱动程序,则最好使用哪个驱动程序模型?若要回答这些问题,请确定设备的何处可以容纳设备和驱动程序技术中介绍的技术列表。参阅该特定技术的文档,以确定是否需要编写函数驱动程序以及了解哪些驱动程序模型可供设备使用。某些个别技术具有微型驱动程序模型。在微型驱动程序模型中,设备驱动程序由两个部分组成:一个部分处理常规任务,另一部分处理设备特定的任务。通常,Microsoft编写通用部分,设备制造商编写设备特定的部分。设备特定的部分具有多种名称,其中大部分名称都共享前缀“微型”。以下是微型驱动程序模型中使用的一些名称:显示器微型端口驱动程序音频微型端口驱动程序电池微型类驱动程序蓝牙协议驱动程序HID微型驱动程序WIA微型驱动程序NDIS微型端口驱动程序存储器微型端口驱动程序流微型驱动程序有关微型驱动程序模型的概述,请参阅微型驱动程序和驱动程序对。并非设备和驱动程序技术中列出的每项技术都有专用的微型驱动程序模型。特定技术的文档可能会建议你使用内核模式驱动程序框架(KMDF);其他技术的文档可能会建议你使用用户模式驱动程序框架(UMDF)。关键点是你应从研究特定设备技术的文档开始。如果你的设备技术具有微型驱动程序模型,则必须使用微型驱动程序模型。否则就遵循技术特定的文档中有关是使用UMDF、KMDF还是Windows驱动程序模型(WDM)的建议。为设备筛选器驱动程序选择驱动程序模型一些驱动程序频繁参与单个I/O请求(如从设备读取数据)。驱动程序在堆栈中进行分层,并且可视化堆栈的常规方法是将第一个驱动程序放在顶部,将最后一个驱动程序放在底部。堆栈具有一个函数驱动程序并且还可以具有筛选器驱动程序。有关函数驱动程序和筛选器驱动程序的介绍,请参阅什么是驱动程序?和设备节点和设备堆栈。如果你准备为设备编写筛选器驱动程序,则确定设备的何处可以容纳设备和驱动程序技术中介绍的技术列表。查看特定设备技术的文档是否有关于选择筛选器驱动程序模型的任何指南。如果设备技术的文档未提供此指南,则首先考虑使用UMDF作为驱动程序模型。如果筛选器驱动程序需要访问的数据结构无法通过UMDF获取,则考虑使用KMDF作为驱动程序模型。在极端少见的情形中,驱动程序需要访问的数据结构无法通过KMDF获取,则使用WDM作为驱动程序模型。为软件驱动程序选择驱动程序模型未与设备关联的驱动程序称为“软件驱动程序”。有关软件驱动程序的介绍,请参阅什么是驱动程序?主题。软件驱动程序很有用,原因是这些驱动程序可以在内核模式下运行,这样为其提供了受保护操作系统数据的访问权限。有关处理器模式的信息,请参阅用户模式和内核模式。有关软件驱动程序,你的两个选项为KMDF和旧的Windows
NT驱动程序模型。使用KMDF和旧的Windows
NT模型,你可以在编写驱动程序时无须考虑即插即用(PnP)和电源管理。你可以改为专心于驱动程序的首要任务上。使用KMDF,你不必考虑PnP和电源,因为框架会为你处理PnP和电源。使用旧的Windows
NT模型,你不必考虑PnP和电源,原因是旧的驱动程序在与PnP和电源管理完全无关的环境中运行。我们的建议是使用KMDF,尤其是当你已熟悉KMDF时。如果你希望驱动程序与PnP和电源管理完全无关,则使用旧的Windows
NT模型。如果你需要编写注意到电源转换或PnP事件的软件,则不能使用旧的Windows
NT模型;必须使用KMDF。注意
在极少情形中,你需要编写注意到PnP或电源事件的软件驱动程序,并且驱动程序需要访问无法通过KMDF获取的数据,则必须使用WDM。为文件系统筛选器驱动程序选择驱动程序模型有关为文件系统筛选器驱动程序选择模型的帮助,请参阅“文件系统微过滤驱动程序”和文件系统筛选器驱动程序。为文件系统驱动程序选择驱动程序模型有关为文件系统驱动程序选择模型的帮助,请参阅文件系统微过滤驱动程序。相关主题内核模式驱动程序框架用户模式驱动程序框架Windows兼容硬件开发板此主题尚未评级
-
\o"评价此主题"评价此主题Windows兼容硬件开发板(比如IntelSharksCove)使你能够为硬件组件开发软件和驱动程序,这些组件通常将合并到手机、平板电脑和其他高度集成或嵌入的系统中。开发板Summer2014:新的Microsoft计划将使硬件工程师使用专为特定SoC环境设计的经济高效的开发板更轻松地开发和验证Windows驱动程序。硬件工程师过去在为SoC平台创建Windows驱动程序方面一直面临许多挑战。与具有PCI插槽和USB端口的电脑不同,类似平板电脑和贝壳机的SoC系统使用低功率内部总线,缺少标准连接器、即插即用支持和发现机制。通常,这些设备受安全启动的保护,而且无法用于开发或测试第三方驱动程序。这将很快得到改变。硬件工程师将能够购买现成的开发板,专门用于特定的SoC环境。IntelSharksCove板将在2014年下半年上市的一种板是IntelSharksCove硬件开发板。IntelSharksCove板将支持设备的驱动程序开发,这些设备使用各种接口,包括:GPIOI2CI2SUARTSDIOUSB即将提供:关于IntelSharksCove板的其他信息。获取硬件开发板即将提供:关于如何获取Windows兼容硬件开发板的信息。如果你有兴趣了解更多信息,并希望获得有关硬件开发板可用性的通知,请向
HardwareDevBoard@
发送电子邮件。获取工具包和工具若要使用Windows兼容硬件开发板,你需要以下工具包和工具:MicrosoftVisualStudioWindows驱动程序工具包(WDK)WDKTestPackWindows调试工具首先下载VisualStudio,然后下载WDK,再下载WDKTestPack。你不需要单独为Windows下载调试工具,因为它已经包含在WDK
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年高性能功能陶瓷结构陶瓷项目立项申请报告模板
- 2025年勘探开发技术咨询合同文本
- 2025年食品分销合作协议样本
- 2025年进口临床治疗仪器合同协议
- 2025年消肿散结类用药项目规划申请报告模式
- 2025年二手小康住宅买卖协议模板
- 2025年船专用码头项目提案报告模稿
- 2025年高强度耐磨黄铜合金项目规划申请报告模板
- 2025年出租车租赁承包合同
- 2025年临时工派遣协议
- 妊娠合并急性胰腺炎课件
- (全国通用)三甲人民医院诊断证明书请假条模板(广东佛山)
- 《灭火器维修》GA95-2015(全文)
- 表面工程学课件-全
- 皮肤科疑难病例讨论课件
- 通信系统防雷与接地下篇的知识
- Q∕GDW 12118.2-2021 人工智能平台架构及技术要求 第2部分:算法模型共享应用要求
- 管理者完成目标的五步19法姜洋讲义
- 亳州市污水处理厂工艺设计
- 复查(复核)信访事项流程图
- the sad young men上课
评论
0/150
提交评论