




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、什么是驱动程序?为术语“驱动程序”给出单一的准确定义比较困难。就最基本的意义而言,驱动程序是一个软件 组件,可让操作系统和设备彼此通信。例如,假设应用程序需要从设备中读取某些数据。应用程 序会调用由操作系统实现的函数,操作系统会调用由驱动程序实现的函数。驱动程序(由设计和 制造该设备的同一公司编写)了解如何与设备硬件通信以获取数据。当驱动程序从设备获取数据 后,它会将数据返回到操作系统,操作系统将数据返回至应用程序。扩大定义到目前为止,我们的说明采用以下几种方式进行简单化:并非所有驱动程序都必须由设计该设备的公司编写。在多种情形下,设备根据已发布的 硬件标准来设计。这表示驱动程序可以由Micr
2、osoft编写,设备设计者无须提供驱动 程序。并非所有驱动程序都直接与设备通信。对于给定的I/O请求(如从设备读取数据), 通常有一些驱动程序(在堆栈中进行分层)参与该请求。可视化堆栈的传统方式是将第 一个参与对象放在顶部,将最后一个参与对象放在底部,如此图所示。堆栈中的某些驱 动程序可能通过将请求从一种格式转换至另一种格式来参与。这些驱动程序不会与设备 直接通信;它们只操纵请求并将请求传递至堆栈下方的驱动程序。堆栈中直接与设备通信的一个驱动程序称为“函数驱动程序”;执行辅助处理的驱动程 序称为“筛选器驱动程序”。某些筛选器驱动程序遵守并记录有关I/O请求的信息,但不会主动参与这些请求。例 如
3、,某些筛选器驱动程序充当验证程序以确保堆栈中的其他驱动程序正确处理I/O请 求。我们可以扩大“驱动程序”的定义,方法是表示驱动程序为遵守或参与操作系统与设备之间通信 的任一软件组件。软件驱动程序我们的扩大定义相当准确,但仍不完整,原因是某些驱动程序与任何硬件设备根本不关联。例 如,假设你需要编写可以访问核心操作系统数据结构的工具,这些结构仅可以由核模式下运行的 代码进行访问。可以通过将工具拆分成两个组件来执行该操作。第一个组件在用户模式下运行且 提供用户界面。第二个组件在核模式下运行且可以访问核心操作系统数据。在用户模式下运行的 组件称为应用程序,在核模式下运行的组件称为“软件驱动程序”。软件
4、驱动程序与硬件设备不 关联。有关处理器模式的详细信息,请参阅用户模式和核模式。此图说明了与核模式软件驱动程序通信的用户模式应用程序。其他说明软件驱动程序始终在核模式下运行。编写软件驱动程序的主要原因是获取对仅在核模式下可用的 受保护数据的访问权限。但是设备驱动程序不会始终需要访问核模式数据和资源。因此某些设备 驱动程序在用户模式下运行。有一系列的驱动程序我们尚未提及,“总线驱动程序”。若要了解总线驱动程序,你需要了解设 备节点和设备树。有关设备树、设备节点以及总线驱动程序的信息,请参阅设备节点和设备堆栈。 到目前为止,我们的说明过度简化了“函数驱动程序”的定义。我们表示设备的函数驱动程序为 堆
5、栈中直接与设备通信的一个驱动程序。对于直接连接到外围组件互连(PCI)总线的设备而言, 以上为真PCI设备的函数驱动程序获取映射到设备上端口和存资源的地址。函数驱动程序通过 写入这些地址直接与设备通信。但是在多种情形下,设备未直接连接到PCI总线。相反设备连 接到的主机总线适配器连接到PCI总线。例如,USB toaster连接到主机总线适配器(称为USB 主控制器),该适配器连接到PCI总线。USB toaster具有函数驱动程序,USB主控制器也具 有函数驱动程序toaster的函数驱动程序与toaster间接通信,方法是将请求发送至USB主 控制器的函数驱动程序。然后,USB主控制器的函
6、数驱动程序与USB主控制器硬件直接通信, 该硬件与 toaster 通信。是否需要编写驱动程序?0 (共1)对本文的评价是有帮助-评价此主题Microsoft Windows包含适用于许多设备类型的置驱动程序。如果有适用于你的设备类型的置驱 动程序,则不必自行编写驱动程序。你的设备可以使用置的驱动程序。适用于USB设备的置驱动程序如果你的设备属于由USB设备工作组(DWG)定义的设备类,则可能已经存在适用于该设备的Windows USB类驱动程序。有关详细信息、,请参阅支持的USB设备类的驱动程序适用于其他设备的置驱动程序目前,Microsoft为以下其他类型的设备提供置驱动程序:设备技术和
7、驱动程序置驱动程序Windows 支持描述ACPI: ACPI驱动程序Acpi.sysWindows XP 及 更高版本Microsoft 通过 Acpi.sys驱动程序 和ACPI BIOS,为基 本的ACPI设备功 能提供支持。为增强 ACPI设备的功能, 供应商可以提供 WDM功能驱动程序。 有关 Windows ACPI 支持的详细信息,请 参阅ACPI设计指 南中的支持ACPI设备。音频:Microsoft音频类驱动程序PortCls.sysWindows XP 及 更高版本Microsoft通过自 身的端口类驱动程 序(PortCl)为基 本的音频渲染和音 频捕捉提供支持。音 频设
8、备的硬件供应 商有责任提供兼容 PortCl的适配器驱 动程序。适配器驱动 程序包括初始化代 码、驱动程序管理代 码(包括 DriverEntry 功能) 和音频微型端口驱 动程序的集合。有 关详细信息,请参阅 端口类简介。总线:本机 SD总线驱 动程序、本 机SD存储 类驱动程序 和存储微型 端口驱动程序sdbus.sys、sffdisk.sys、sffp_sd.sysWindows Vista及更高版本Microsoft 为 SD 读卡器提供如下支 持:操作系统为直接 连接到PCI总线的 SD主机控制器提供 支持。当系统枚举 SD主机控制器时, 会加载本机SD总 线驱动程序 (sdbus.
9、sys)。如果 用户插入SD存卡, 则除总线驱动程序 以外,Windows还会 加载本机SD存储 类驱动程序 (sffdisk.sys)和 存储微型端口驱动 程序(sffp_sd.sys)。如 果用户插入具有其 他类型功能的SD 卡(例如GPS或无 线LAN),则Windows会加载供 应商为该设备提供 的驱动程序。HID:HID I2C驱动程序HIDI2C.sysWindows 8 及更 高版本Microsoft为支持 简单外设总线 (SPB)和通用I/O (GPIO)的 SoC 系 统上的HID overI2C设备提供支持。 它通过 HIDI2C.sys 驱动程序实现此支 持。有关详细信息
10、, 请参阅 HID overI2C。HID:传统游戏端口驱动程序HidGame.sys、Gameenum.sysWindows VistaWindowsServer 2003Windows XP在 Windows Vista 及更早版本中, Microsoft 通过 HidGame.sys 和 Gameenum.sys 马区动 程序为传统(非 USB、非蓝牙、非 I2C)游戏端口提供 支持。有关详细信 息,请参 阅 Windows 中支 持的HID传输。HID:传统键盘类驱动程序Kbdclass.sysWindows XP 及 更高版本Microsoft 通过 Kbdclass.sys 驱动
11、程序为传统(非 USB、非蓝牙、非 I2C)键盘提供支持。 有关详细信息,请参 阅键盘和鼠标HID 客户端驱动程序。为 增强传统键盘的功 能,供应商可以提供 键盘筛选器驱动程 序。有关详细信息, 请参阅 MSDN代码 库中的Kbfiltr示例。HID:传统鼠标类驱动程序Mouclass.sysWindows XP 及 更高版本Microsoft 通过 Mouclass.sys 驱动 程序为传统(非 USB、非蓝牙、非 I2C)鼠标提供支持。 键盘和鼠标HID客 户端驱动程序。为增 强传统鼠标的功能, 供应商可以提供鼠 标筛选器驱动程序。 有关详细信息,请参 阅 MSDN代码库中 的Moufil
12、tr示例。HID: PS/2 (i8042prt) 驱动程序I8042prt.sysWindows XP 及 更高版本Microsoft 通过 I8042.sys驱动程 序为传统PS/2键 盘和鼠标提供支持。 为增强PS/2鼠标 或键盘的功能,供应 商可以提供键盘或 鼠标筛选器驱动程 序。有关详细信息, 请参阅MSDN代码 库中的 Kbfiltr 示例和 Moufiltr 示例。映像:设备 的Web服 务(WSD) 扫描类驱动 程序WSDScan.sysWindows Vista及更高版本Microsoft 通过WSD扫描驱动程序 (wsdscan.sys)为 Web服务扫描程序(即在Web上
13、使用 的扫描程序)提供支 持。但是,支持WSD 分布式扫描管理的 Web服务扫描程序 设备必须实现两个 Web服务协议。有关 详细信息,请参阅使 用设备Web服务的WIA。打印:Microsoft绘图仪驱动程序MsplotWindows XP 及 更高版本Microsoft 通过 Microsoft绘图仪 驱动程序(Msplot) 为支持惠普图形语 言的绘图仪提供支 持。为增强绘图仪的 功能,你可以创建由 一个或多个绘图仪 特性数据(PCD)文 件组成的微型驱动 程序。有关详细信 息,请参阅绘图仪驱 动程序微型驱动程 度。打印:MicrosoftPostScript 打印机驱动 程序Pscri
14、ptWindows XP 及 更高版本Microsoft 通过PostScript 打印机 驱动程序(Pscript)为PostScript 打印机 提供支持。为增强PostScript 打印机 的功能,你可以创建 由一个或多个PostScript 打印机 描述(PPD)文件和 字体(NTF)文件组 成的微型驱动程序。 有关详细信息,请参 阅Pscript微型驱 动程序。打印:Microsoft通用打印机驱动程序UnidrvWindows XP 及 更高版本Microsoft通过通 用打印机驱动程序 (Unidrv)为非 PostScript 打印机 提供支持。为增强非 PostScript
15、打印机 的功能,你可以创建 由一个或多个通用 打印机描述(GPD)打印:Microsoft第4版打 印机驱动程序打印:MicrosoftXPS打印机驱动程序XPSDrvWindows 8 及更 高版本Windows Vista及更高版本文件组成的微型驱 动程序。有关详细信 息,请参阅 Microsoft 通 用打印机驱动程序从 Windows 8 开 始,Microsoft 提供 了支持 PostScript 和非 PostScript 打印机以及绘图仪的单个置类驱动程 序。该驱动程序可取 代Microsoft绘图 仪驱动程序、 Microsoft通用打 印机驱动程序和MicrosoftPos
16、tScript 打印机 驱动程序。该打印机 驱动程序可通过自 身提供基本的打印 支持,无需任何修 改。有关详细信息, 请参阅第4版打印 机驱动程序。Microsoft 通过XPS打印机驱动程 序(XPSDrv)为打 印XPS文档格式提供支持。该驱动程序 扩展了 Microsoft 基于GDI的第3 版打印机驱动程序 体系结构,可支持消 耗XML纸规(XPS) 文档。通过XPSDrv 打印机驱动程序, XPS文档格式可用 作后台打印文件格 式和文档文件格式。 该XPSDrv打印机驱动程序可通过自 身提供基本的XPS 打印支持,无需任何 修改。有关详细信 息,请参阅 XPSDrv 打印机驱动程序。
17、传感器:传感器HID类驱动程序SensorsHIDClassDriver.dllWindows 8 及更 高版本Microsoft 通过HID类驱动程序为 笔和触摸设备提供 支持。由于Windows 8包括此HID类驱动程序和 相应的HID I2C及HID USB微型端口 驱动程序,因此你不 需要实现自己的驱 动程序。你只需在指 针设备的固件中报 告此白皮书中描述 的使用方法。Windows将使用你 的固件及其HID驱 动程序启用设备的 触摸和指针功能,并 为Windows触摸和 指针API提供访问 该设备的权限。触摸:Windows 指针设备驱动程序Windows 8 及更 高版本Micro
18、soft 通过HID类驱动程序为 笔和触摸设备提供 支持。由于Windows 8包括此HID类驱动程序和 相应的HID I2C及 HID USB微型端口 驱动程序,因此你不 需要实现自己的驱 动程序。你只需在指 针设备的固件中报 告此白皮书中描述 的使用方法。Windows将使用你 的固件及其HID驱 动程序启用设备的 触摸和指针功能,并 为Windows触摸和 指针API提供访问 该设备的权限。WPD:媒体传输协议类驱动程序WpdMtpDr.dll、WpdMtp.dll、WpdMtpUs.dll、WpdConns.dll和 WpdUsb.sysWindows Vista及更高版本Micros
19、oft通过媒 体传输协议类驱动 程序为需要连接 Windows的便携设 备(例如,音乐播放 器、数字相机、手机 和健康监控设备)提 供支持。使用该类驱 动程序的供应商必 须在设备上实现 MTP类协议。(对于 静物数字相机,MTP 实现必须与PTP后 向兼容。)有关详细 信息,请参阅硬件供 应商指南。选择驱动程序模型4 (共6)对本文的评价是有帮助 -评价此主题Microsoft Windows提供了多种驱动程序模型,你可以使用这些模型编写驱动程序。最佳驱动程 序模型的选择策略取决于你计划编写的驱动程序类型。下文介绍了这些选项:设备函数驱动程序设备筛选器驱动程序软件驱动程序文件系统筛选器驱动程序
20、文件系统驱动程序 有关各种类型驱动程序之间差异的介绍,请参阅什么是驱动程序?和设备节点和设备堆栈。以下 部分说明了如何为每种类型的驱动程序选择模型。为设备函数驱动程序选择驱动程序模型当你设计一个硬件设备时,首先要考虑的事项之一就是你是否需要编写函数驱动程序。提出下列 问题:是否可以完全避免编写驱动程序?如果必须编写函数驱动程序,则最好使用哪个驱动程序模型?若要回答这些问题,请确定设备的何处可以容纳设备和驱动程序技术中介绍的技术列表。参阅该 特定技术的文档,以确定是否需要编写函数驱动程序以及了解哪些驱动程序模型可供设备使用。 某些个别技术具有微型驱动程序模型。在微型驱动程序模型中,设备驱动程序由
21、两个部分组成: 一个部分处理常规任务,另一部分处理设备特定的任务。通常,Microsoft编写通用部分,设备 制造商编写设备特定的部分。设备特定的部分具有多种名称,其部分名称都共享前缀“微型”。 以下是微型驱动程序模型中使用的一些名称:显示器微型端口驱动程序音频微型端口驱动程序电池微型类驱动程序蓝牙协议驱动程序HID微型驱动程序WIA微型驱动程序NDIS微型端口驱动程序存储器微型端口驱动程序流微型驱动程序有关微型驱动程序模型的概述,请参阅微型驱动程序和驱动程序对并非设备和驱动程序技术中列出的每项技术都有专用的微型驱动程序模型。特定技术的文档可能 会建议你使用核模式驱动程序框架(KMDF):其他
22、技术的文档可能会建议你使用用户模式驱动程 序框架(UMDF)。关键点是你应从研究特定设备技术的文档开始。如果你的设备技术具有微型驱 动程序模型,则必须使用微型驱动程序模型。否则就遵循技术特定的文档中有关是使用UMDF、 KMDF还是Windows驱动程序模型(WDM)的建议。为设备筛选器驱动程序选择驱动程序模型一些驱动程序频繁参与单个I/O请求(如从设备读取数据)。驱动程序在堆栈中进行分层,并 且可视化堆栈的常规方法是将第一个驱动程序放在顶部,将最后一个驱动程序放在底部。堆栈具 有一个函数驱动程序并且还可以具有筛选器驱动程序。有关函数驱动程序和筛选器驱动程序的介 绍.请参阅什么是驱动程序?和设
23、备节点和设备堆栈如果你准备为设备编写筛选器驱动程序,则确定设备的何处可以容纳设备和驱动程序技术中介绍 的技术列表。查看特定设备技术的文档是否有关于选择筛选器驱动程序模型的任何指南。如果设 备技术的文档未提供此指南,则首先考虑使用UMDF作为驱动程序模型。如果筛选器驱动程序需 要访问的数据结构无法通过UMDF获取,则考虑使用KMDF作为驱动程序模型。在极端少见的情 形中,驱动程序需要访问的数据结构无法通过KMDF获取,则使用WDM作为驱动程序模型。为软件驱动程序选择驱动程序模型未与设备关联的驱动程序称为“软件驱动程序”。有关软件驱动程序的介绍,请参阅什么是驱动 程序?主题。软件驱动程序很有用,原
24、因是这些驱动程序可以在核模式下运行,这样为其提供了 受保护操作系统数据的访问权限。有关处理器模式的信息、,请参阅用户模式和核模式。有关软件驱动程序,你的两个选项为KMDF和旧的Windows NT驱动程序模型。使用KMDF和 旧的Windows NT模型,你可以在编写驱动程序时无须考虑即插即用(PnP)和电源管理。你可 以改为专心于驱动程序的首要任务上。使用KMDF,你不必考虑PnP和电源,因为框架会为你处 理PnP和电源。使用旧的Windows NT模型,你不必考虑PnP和电源,原因是旧的驱动程序 在与PnP和电源管理完全无关的环境中运行。我们的建议是使用KMDF,尤其是当你已熟悉KMDF时
25、。如果你希望驱动程序与PnP和电源管理 完全无关,则使用旧的Windows NT模型。如果你需要编写注意到电源转换或PnP事件的软件, 则不能使用旧的Windows NT模型;必须使用KMDFo注意在极少情形中,你需要编写注意到PnP或电源事件的软件驱动程序,并且驱动程序需要访问无法通过KMDF获取的数据,则必须使用WDM。为文件系统筛选器驱动程序选择驱动程序模型有关为文件系统筛选器驱动程序选择模型的帮助,请参阅“文件系统微过滤驱动程序”和文件系 统筛选器驱动程序。为文件系统驱动程序选择驱动程序模型有关为文件系统驱动程序选择模型的帮助,请参阅文件系统微过滤驱动程序相关主题核模式驱动程序框架用户
26、模式驱动程序框架Windows兼容硬件开发板此主题尚未评级 - 评价此主题Windows兼容硬件开发板(比如Intel Sharks Cove)使你能够为硬件组件开发软件和驱动程序, 这些组件通常将合并到手机、平板电脑和其他高度集成或嵌入的系统中。开发板Summer 2014:新的Microsoft计划将使硬件工程师使用专为特定SoC环境设计的经济高效的 开发板更轻松地开发和验证Windows驱动程序。硬件工程师过去在为SoC平台创建Windows 驱动程序方面一直面临许多挑战。与具有PCI插槽和USB端口的电脑不同,类似平板电脑和贝 壳机的SoC系统使用低功率部总线,缺少标准连接器、即插即用支持和发现机制。通常,这些 设备受安全启动的保护,而且无法用于开发或测试第三方驱动程序。这将很快得到改变。硬件 工程师将能够购买现成的开发板,专门用于特定的SoC环境。Intel Sharks Cove 板将在2014年下半年上市的一种板是Intel Sharks Cove硬件开发板。Intel Sharks Cove板将支持设备的驱动程序开发,这些设备使用各种接口,包括:GPIO TOC o 1-5 h z I2CI2SUARTSDIOUSB即将提供:关于Intel Sharks Cove板的其他信息
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农村工程合同范本
- 叉车旧车出售合同范本
- 商品承租合同范本
- 商务英文订单合同范例
- 便利店转租合同范本
- 击剑俱乐部会员合同范例
- 养殖渔网出售合同范本
- 办低保申请书咋写
- 初中生活导航
- 公司用餐协议合同范本
- GB/T 700-2006碳素结构钢
- GB/T 25196-2018起重机设计工作周期的监控
- 机器人传感器课件
- 外国美术史第一讲-原始美术及古代两河流域美术课件
- 共有权人同意出租证明(房屋对外出租使用)
- 日本の節句日本的节日课件-高考日语文化常识专项
- 阿托伐他汀钙片说明书20110420(立普妥)
- 回旋钻钻孔施工方案
- 四年级上册第四单元让生活多一些绿色道德与法治教学反思11变废为宝有妙招
- JJG(交通)096-2009 水泥胶砂流动度测定仪检定规程-(高清现行)
- 嗓音(发声)障碍评定与治疗
评论
0/150
提交评论