21.33全局标记应用程序( Global Flags Utility) 通过调整运行系统的内核设置,改变图像文件的设置,全局标记应用程序 gflags.exe提供了 一种在系统注册表里设置特定键的简单方法。你能通过使用一个GUI或命令行接口设置这些键 应用程序放在 Windows2000DDK的bin目录下面。 全局标记应用程序也能用来配置 Driver verifier的特别内存池,或用特别内存池进行单个内存 分配。 全局标记应用程序窗口 为改变特别内存池设置,必须选择目标部分里的系统注册表选项按钮 内核特别池标记对话框允许设置一定的特别池选项。 如果一池标记被输入,特别池将应用于具有指定的池标记的所有池分配。如果同时通过 Driver Verifier使特别内存池可用,有指定标记的所有池和从正被检查的驱动程序所分配的所有池将从特 别池分配(易受池的可用性影响)。 Verify Start选项按钮引起特别池的定位集中在下溢检测, Verify End选项则集中在上溢检测 这些按钮控制特别池分配的定位,这些特别池分配由池标记或 Driver verifier完成 关于特别内存池的使用的细节,参看特别内存池和图形驱动程序的特别内存池 16
16 2.1.3.3 全局标记应用程序(Global Flags Utility) 通过调整运行系统的内核设置,改变图像文件的设置,全局标记应用程序 gflags.exe 提供了 一种在系统注册表里设置特定键的简单方法。你能通过使用一个 GUI 或命令行接口设置这些键。 应用程序放在 Windows2000 DDK 的 bin 目录下面。 全局标记应用程序也能用来配置 Driver Verifier 的特别内存池,或用特别内存池进行单个内存 分配。 图: 全局标记应用程序窗口 为改变特别内存池设置,必须选择目标部分里的系统注册表选项按钮。 内核特别池标记对话框允许设置一定的特别池选项。 如果一池标记被输入,特别池将应用于具有指定的池标记的所有池分配。如果同时通过 Driver Verifier 使特别内存池可用,有指定标记的所有池和从正被检查的驱动程序所分配的所有池将从特 别池分配(易受池的可用性影响)。 Verify Start 选项按钮引起特别池的定位集中在下溢检测,Verify End 选项则集中在上溢检测。 这些按钮控制特别池分配的定位,这些特别池分配由池标记或 Driver Verifier 完成。 关于特别内存池的使用的细节,参看特别内存池和图形驱动程序的特别内存池
第二卷即插即用、电源管理和设置设 计指南 第1部分即插即用和电源管理的要求 第2部分即插即用 第3部分电源管理 第4部分设置
17 第二卷 即插即用、电源管理和设置设 计指南 第 1 部分 即插即用和电源管理的要求 第 2 部分 即插即用 第 3 部分 电源管理 第 4 部分 设置
第一部分即插即用和电源管理的要求 第1章即插即用和电源管理的介绍 第2章PnP和电源管理需要的驱动程序支持
18 第一部分 即插即用和电源管理的要求 第 1 章 即插即用和电源管理的介绍 第 2 章 PnP 和电源管理需要的驱动程序支持
第1章即插即用和电源管理的介绍 本章描述了与编写支持即插即用和电源管理的驱动程序相关的主要概念,这些信息如下组织 1.1什么是即插即用? 1.1PnP组件 1.12PnP的支持级别 12什么是电源管理? 1.2.1电源管理的最初含义 122电源管理的支持级别 1.2.、3系统范围的电源管理总览 124电源状态 1.3设备树 14驱动程序分层和设备对象 14.1驱动程序种类 14.1.1总线驱动程序 14.1.2功能驱动程序 14.1.3过滤器驱动程序 142驱动程序分层-一个例子 14.3设备对象种类 144设备对象-一个例子 阅读第2章对驱动程序怎样支持PnP和电源管理有一总体印象。阅读第2部分获取关于PnP 的详细信息,阅读第3部分获取关于电源管理的详细信息,阅读第4部分获取关于驱动程序和设 备安装的详细信息。 1.1什么是即插即用? 即插即用(PnP)是一个硬件和软件支持的组合,这些软件支持能让系统识别或适应硬件配 置的小改变而没用用户的干预。用户可从计算机系统添加或删除设备而不必做笨拙而且混淆的手 工配置,也不需要复杂的计算机硬件知识。例如,用户可以连接一便携机并使用连接站键盘、鼠 标和监视器而不需要手工改变配置 PP需要从硬件设备、系统软件和驱动程序获得支持。硬件工业的最初思想是给容易标识的 插件板和基本的系统组件定义标准(比如 PnP ISa定义和 PC Card标准)。这本DDK文档编制集 中在系统软件对PnP的支持和驱动程序怎么使用这个支持来实现PnP。 系统软件对PnP的支持和PnP驱动程序一起提供以下功能: 对已安装硬件的自动和动态识别 在最初的系统安装过程中系统软件识别硬件,识别发生在系统引导之间的PnP硬件改变,并 对诸如连接或断开的运行时间硬件事件和设备添加或删除作出响应
19 第1章 即插即用和电源管理的介绍 本章描述了与编写支持即插即用和电源管理的驱动程序相关的主要概念,这些信息如下组织: 1.1 什么是即插即用? 1.1.1 PnP 组件 1.1.2 PnP 的支持级别 1.2 什么是电源管理? 1.2.1 电源管理的最初含义 1.2.2 电源管理的支持级别 1.2.3 系统范围的电源管理总览 1.2.4 电源状态 1.3 设备树 1.4 驱动程序分层和设备对象 1.4.1 驱动程序种类 1.4.1.1 总线驱动程序 1.4.1.2 功能驱动程序 1.4.1.3 过滤器驱动程序 1.4.2 驱动程序分层---一个例子 1.4.3 设备对象种类 1.4.4 设备对象---一个例子 阅读第 2 章对驱动程序怎样支持 PnP 和电源管理有一总体印象。阅读第 2 部分获取关于 PnP 的详细信息,阅读第 3 部分获取关于电源管理的详细信息,阅读第 4 部分获取关于驱动程序和设 备安装的详细信息。 1.1 什么是即插即用? 即插即用(PnP)是一个硬件和软件支持的组合,这些软件支持能让系统识别或适应硬件配 置的小改变而没用用户的干预。用户可从计算机系统添加或删除设备而不必做笨拙而且混淆的手 工配置,也不需要复杂的计算机硬件知识。例如,用户可以连接一便携机并使用连接站键盘、鼠 标和监视器而不需要手工改变配置。 PnP 需要从硬件设备、系统软件和驱动程序获得支持。硬件工业的最初思想是给容易标识的 插件板和基本的系统组件定义标准(比如 PnP ISA 定义和 PC Card 标准)。这本 DDK 文档编制集 中在系统软件对 PnP 的支持和驱动程序怎么使用这个支持来实现 PnP。 系统软件对 PnP 的支持和 PnP 驱动程序一起提供以下功能: ◼ 对已安装硬件的自动和动态识别 在最初的系统安装过程中系统软件识别硬件,识别发生在系统引导之间的 PnP 硬件改变,并 对诸如连接或断开的运行时间硬件事件和设备添加或删除作出响应
硬件资源分配(和再分配) PnP管理器决定由每一设备(例如,输入输出LO端口、中断请求[RQ]、直接内存访问[DMA 通道和内存定位)所请求的硬件资源,并适当分配硬件资源。当需要时,PnP管理器重新配置资 源分配。例如当新设备被添加到必须正在使用的资源系统中。 PnP设备驱动程序不分配资源,相反,当一个设备被枚举时,设备所请求的资源是被标识过 的。在资源分配过程中,PnP管理器找到每个驱动程序的请求。对一个早期的设备而言,资源不 是动态配置的,所以,PnP管理器首先给早期的驱动程序分配资源。 适当的驱动程序的加载 PnP管理器决定哪一些驱动程序对支持每个设备是必要的,并加载这些驱动程序。 驱动程序与PnP系统相互作用的编程接口 接口包括IoXx例程、 PnP IrP、必要的驱动程序入口点和注册表信息 驱动程序和应用程序了解硬件环境变化并采取适当的动作机制 PnP能让驱动程序和用户模式代码登记,并通知一定的硬件事件 PnP驱动程序是PnP支持的重要部分,作为一个合格的PnP驱动程序必须提供必要的PnP入 口点、处理必要的 PnP IrP和遵从PnP向导行。欲知更多信息,参见第2章。 111PnP组件 图1.1显示了一组同时工作来支持PnP的组件 图1.1PnP软件组件 PnP管理器有两个部分:内核模式PnP管理器和用户模式PnP管理器。内核模式PnP管理器 与OS组件和驱动程序相互作用来配置、管理和维护设备。用户模式PnP管理器与用户安装组件 相互作用来配置和安装设备,例如类安装器。用户模式PnP管理器也与一些应用程序相互作用, 举例来说,登记一个设备改变通知的应用程序,并当一个设备事件发生时通知应用程序 冷、PnP驱动程序支持物理的、逻辑的和虚拟的机器设备,wDM驱动程序遵从微软的驱动程序 式并支持微软的 Windows2,000和 Windows98系统上的设备。 WDM PnP驱动程序通过严格定义 的API和IRP与PnP管理器和其他内核组件通信。参看《 Window2000驱动程序开发参考》卷 获得这些API和IRP的详尽描述。安装了 Windows2000的机器也许有一些PnP驱动程序不支持 WDM。 所有PnP驱动程序应该支持PnP和电源管理,如果一单个PnP的驱动程序不支持PnP和电源 管理,它作为一个系统整体约束PnP驱动程序和电源管理。 参考第4部分关于设备和驱动程序安装的信息,包括INF文件、cat文件和注册表 112PnP的支持级别 设备支持PnP的范围取决于设备硬件和设备驱动程序里的PnP支持(看表1.1)
20 ◼ 硬件资源分配(和再分配) PnP 管理器决定由每一设备(例如,输入/输出[I/O]端口、中断请求[IRQ]、直接内存访问[DMA] 通道和内存定位)所请求的硬件资源,并适当分配硬件资源。当需要时,PnP 管理器重新配置资 源分配。例如当新设备被添加到必须正在使用的资源系统中。 PnP 设备驱动程序不分配资源,相反,当一个设备被枚举时,设备所请求的资源是被标识过 的。在资源分配过程中,PnP 管理器找到每个驱动程序的请求。对一个早期的设备而言,资源不 是动态配置的,所以,PnP 管理器首先给早期的驱动程序分配资源。 ◼ 适当的驱动程序的加载 PnP 管理器决定哪一些驱动程序对支持每个设备是必要的,并加载这些驱动程序。 ◼ 驱动程序与 PnP 系统相互作用的编程接口 接口包括 IoXxx 例程、PnP IRP、必要的驱动程序入口点和注册表信息。 ◼ 驱动程序和应用程序了解硬件环境变化并采取适当的动作机制 PnP 能让驱动程序和用户模式代码登记,并通知一定的硬件事件。 PnP 驱动程序是 PnP 支持的重要部分,作为一个合格的 PnP 驱动程序必须提供必要的 PnP 入 口点、处理必要的 PnP IRP 和遵从 PnP 向导行。欲知更多信息,参见第 2 章。 1.1.1 PnP 组件 图 1.1 显示了一组同时工作来支持 PnP 的组件 图 1.1 PnP 软件组件 PnP 管理器有两个部分:内核模式 PnP 管理器和用户模式 PnP 管理器。内核模式 PnP 管理器 与 OS 组件和驱动程序相互作用来配置、管理和维护设备。用户模式 PnP 管理器与用户安装组件 相互作用来配置和安装设备,例如类安装器。用户模式 PnP 管理器也与一些应用程序相互作用, 举例来说,登记一个设备改变通知的应用程序,并当一个设备事件发生时通知应用程序。 PnP 驱动程序支持物理的、逻辑的和虚拟的机器设备,WDM 驱动程序遵从微软的驱动程序 模式并支持微软的 Windows2000 和 Windows98 系统上的设备。WDM PnP 驱动程序通过严格定义 的 API 和 IRP 与 PnP 管理器和其他内核组件通信。参看《Windows2000 驱动程序开发参考》卷一 获得这些 API 和 IRP 的详尽描述。安装了 Windows2000 的机器也许有一些 PnP 驱动程序不支持 WDM。 所有 PnP 驱动程序应该支持 PnP 和电源管理,如果一单个 PnP 的驱动程序不支持 PnP 和电源 管理,它作为一个系统整体约束 PnP 驱动程序和电源管理。 参考第 4 部分关于设备和驱动程序安装的信息,包括 INF 文件、.cat 文件和注册表。 1.1.2 PnP 的支持级别 设备支持 PnP 的范围取决于设备硬件和设备驱动程序里的 PnP 支持(看表 1.1)