注册表中的驱动程序信息

 
操作系统和驱动程序将关于驱动程序和设备的信息存储在注册表中。总的来说,驱动程序应使用注册表存储机器重启动后仍必须维护的数据。此外,驱动程序可以访问注册表以获得系统或者其他程序或者驱动程序存储在其中的信息。

以下的注册表中的树是驱动程序开发者特别感兴趣的(这里 HKLM 代表HKEY_LOCAL_MACHINE):

·HKLM\SYSTEM\CurrentControlSet\Services

·HKLM\SYSTEM\CurrentControlSet\Control

·HKLM\SYSTEM\CurrentControlSet\Enum

·HKLM\SYSTEM\CurrentControlSet\HardwareProfiles

驱 动 程 序 和 用 户 模 式 的 设 置 组 件 必 须 使 用 系 统 例 程 如 IoGetDeviceProperty 和SetupDiGetDeviceRegistryProperty 访问注册表的 Plug and Play(PnP)主键。驱动程序不应直接访问这些主键。在 HKLM\SYSTEM\CurrentControlSet 下的主键是保留驱动程序重要数据的安全地方,因为数据被存在系统区。系统采取特别的预防措施以保护系统区(例如做多个备份)。

HKLM\SYSTEM\CurrentControlSet\Services 树

这 个 树 存 储 机 器 每 个 服 务 的 信 息 。 每 个 驱 动 程 序 有 一 个 形 式 为HKLM\SYSTEM\CurrentControlSet\Services\DriverName 的主键。当 PnP 管理器调用驱动程序的DriverEntry 例程时,它在 RegistryPath 参数中将此路径传给驱动程序。驱动程序可以将全局驱动程序定义的数据存储在它的 Services 树主键下。在此主键下存储的信息在它初始化时对驱动程序是可用的。

ImagePath :说 明 驱 动 程 序 映 像 文 件 全 路 径 的 值 表 项 。 Setup 使 用 驱 动 程 序 INF 文 件 的 必 须 的ServiceBinary 表 项 建 立 这 个 值 。 这 个 表 项 在 驱 动 程 序 的 INF   AddService 指 令 中 引 用 的service-install-section中。这个路径的典型值是%windir%\system32\Drivers\DriverName.sys,此处 DriverName 是驱动程序的 Services 主键名称。

Parameters :用来存储驱动程序专用数据的主键。对一些类型的驱动程序,系统期望找到专用的值表项。你可以使用驱动程序的 INF 文件的 AddReg 表项来对这个子键添加值表项。

Performance :对可选的性能监视信息说明的主键。在此主键下的值说明了驱动程序的性能 DLL 的名称和在此 DLL 中某些导出的函数的名称。你可以使用驱动程序的 INF 文件的AddReg 对这个子键添加值表项。

HKLM\SYSTEM\CurrentControlSet\Control 树

注册表的这个树包含了控制系统启动和一些设备配置方面的信息。

HKLM\SYSTEM\CurrentControlSet\Enum 树

注册表的这个树包含了关于机器中设备的信息。PnP 管理器为每个设备建立一个子键,名字是 HKLM\SYSTEM\CurrentControlSet\Enum\enumerator\deviceID 的形式。在这些主键下是一个子键,是机器中现有的每个设备实例。设备实例的子键具有如设备描述、硬件 ID、兼容性 ID、资源要求等等的信息。 Enum 树为操作系统组件的使用而保留,并且它的布局容易改变。驱动程序和用户模式的 Setup组件必须使用系统 API,如 IoGetDeviceProperty 和 SetupDiGetDeviceRegistryProperty,以从树中提取信息。驱动程序和 Setup 应用程序不应直接访问 Enum 树。当调试驱动程序时,你可以使用注册表编辑器察看 Enum 树。

HKLM\SYSTEM\CurrentControlSet\HardwareProfiles

注册表的这个树包含了计算机上关于硬件 profiles 的信息。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值