文档详情

《6-驱动程序开发-91》课件.ppt

发布:2018-10-01约2.77万字共93页下载文档
文本预览下载声明
* INF文件 INF文件全称 Information File,包含WDM设备驱动程序安装所需要的信息。 INF文件是一个文本文件,可以用任何一款文字编辑器查看并修改其中的内容。 它由一些段组成,每个段前面有由方括号括起来的段标志。 段中包含一系列的“keyword=value”形式的指令。 INF文件的格式 INF文件中以分号开始表示注释。 段和项的名称不区分大小写。 段中一行的最后反斜线表示这一行要继续到下一行,双引号用于保证字符的正确解释,如文件名中的反斜线或者字符串中的前后空格等。 驱动程序安装方案 INF文件能够支持复杂的安装方案,一个基本的驱动程序安装方案包括以下几个方面的操作: 识别设备 复制驱动程序文件 设备资源的请求与分配 添加注册表项,以便该设备被枚举的时候能够装载驱动程序。 驱动程序数字签名 表9-9p249给出了INF文件主要的段设置。 如果驱动程序通过了Microsoft硬件的兼容性测试,通常会在Version段中设置的CatalogFile项中包含对数字签名文件的引用,所需的INF语法细节参见DDK文档。 Microsoft Windows 操作系统支持数千种设备。已经发布了超过 30,000 种驱动程序;每天都会出现新的驱动程序。其中一些驱动程序是基于十多年前设计的模型。尽管这些模型代表着当时的最高水平,但是现在的设备和操作系统技术暴 露出了这些过时设计的局限性。 Microsoft 正在采取措施简化 Windows 驱动程序的开发,提高驱动程序质量和系统可靠性。本文描述了当前支持的 Windows 驱动程序模型,总结了它们的局限性,并介绍了能够克服这些局限性的 Windows Driver Foundation。 早期 Windows 驱动程序模型 早 期的驱动程序模型包括一般的 Windows Driver Model (WDM) 和许多针对普通设备类(如存储、网络和音频)的设备类特定驱动程序模型。WDM 提供了一套丰富的功能,包括异步 I/O、驱动程序分层、即插即用、电源管理和 Windows 管理规范 (WMI)。 设备类特定的驱动程序模型的结构通常由 Microsoft 编写的端口驱动程序和独立硬件供应商编写的微型端口驱动程序组成。端口驱动程序承担设备类所需的大部分工作,而微型端口驱动程序支持设备特定的功能。例 如,Microsoft 提供的 SCSI 端口驱动程序处理 SCSI 设备的基本要求,所以供应商提供的 SCSI 微型端口驱动程序只需支持设备特定的功能。 随着 Windows 增加了对新设备类的支持,微型端口模型的数量也随之增加。目前,Windows 支持 10 余种微型端口模型。 早期的驱动程序模型的局限性 尽管 WDM 和设备类特定的驱动程序模型提供了编写强大的高性能驱动程序所需的功能,但软件和硬件也在不断演化,所以,这些模型现在已显得有些老化了。具体来讲,下面的局限性突显了新模型的必要性。 一般的 WDM 驱动模型层次较低,而且复杂 编写基本的驱动程序需要数千行代码,其中许多代码只能实现常用功能。例如,支持即插即用和电源管理需要至少 2000 行复杂的代码。 许多驱动程序开发人员发现电源管理、即插即用、同步和异步 I/O 的设备驱动程序接口 (DDI) 非常复杂而且难以使用。实现一个完整的即插即用和电源管理状态引擎涉及到对至少一百种状态的支持。支持多功能设备的驱动程序甚至更加复杂。 设备驱动程序接口不是专为它们当前的目的而设计的,也没有版本控制功能 当 许多年前设计 DDI 时,Microsoft 没有预料到第三方驱动程序的开发。因此,DDI 被直接从操作系统内核中导出。它们只是为性能而设计的,而不是为了安全或易用性。在许多情况下,DDI 直接向驱动程序公开基本的操作系统数据结构,从而限制了 Microsoft 更改这些结构的能力并增加了驱动程序错误导致系统崩溃或中断的机会。 没有版本控制支持,不同版本 Windows 的驱动程序常常需要不同的二进制文件或者必须编写为只能使用最早版本中的可用功能。 这些局限性增加了测试时间和支持成本。 有太多的微型端口模型 Windows 目前支持 10 余种微型端口模型。微型端口模型最初旨在简化驱动程序开发,屏蔽一些操作系统需求并在设备特定环境中展示其他需求。尽管微型端口模型通常比一般 WDM 模型更简单,但是往往很难确定使用哪个模型和如何在每个模型中实现常用功能。要为两种不同的设备类型(例如 NDIS 和存储)编写程序,开发人员必须理解两种不同的微型端口模型。 微型端口模型还有其他缺陷: ?微型端口模型通过不同的方式展现常用功能,如即插即用和电源管理。 ?一旦将新功能添加到操作系统中或可以使用新的硬件技术,微型端口接口通常需要
显示全部
相似文档