已签名驱动程序的自定义电源设置
Updated: January 21, 2008
在 Windows Vista 和后续版本中,设备和驱动程序供应商可以自定义与 Windows Vista 电源计划集成的特定于设备的电源设置。驱动程序的 INF 文件中的 AddPowerSetting 指令将电源设置值与友好的名称、描述和全局唯一标识符(GUID)关联,并为系统定义的电源计划中的每个电源特性指定默认设置。系统在 Control Panel Power Options 应用程序的 Advanced Settings 选项卡中显示自定义的电源设置。
更改自定义电源设置值
电源设置会影响设备的安装和操作方式。因此,供应商提供的任何更改这些设置的组件都必须签名。供应商为不同客户定义不同设置或默认值的唯一途径是提供经过独立签名的驱动程序包。
考虑这样一个客户,他将显示器与仅在昏暗环境(例如电影院)中使用的系统结合使用。在这种情况下,性能电源方案中的交流电源的期望默认值可能是 75% 的亮度,而不是 100% 的亮度。显示器供应商代表客户设置这些默认值的唯一途径是提供特定于客户的签名安装包来定义此默认值。
如果客户需要的电源设置定义或默认值与安装时建立设置不同,那么客户或系统管理员需要更改这些设置。PowerCfg.exe 命令行工具允许用户修改电源方案和各个电源设置值。
本地化字符串
INF 文件可以提供一个默认字符串作为每个电源设置的友好名称和描述,或者您可以在外部 DLL 中提供本地化字符串。特定驱动程序包必须使用这两种方法之一;也就是说,不能为一些客户在 INF 文件中包含默认字符串,而为其他客户引用 DLL。例如,如果 INF 文件包含英文字符串,那么不能同时提供只在非英语国家或地区安装的 DLL。DLL 必须在 INF 文件的 SourceDisksFiles 部分中列出,并且与包中的其他文件一起进行哈希运算。
如果以后通过修改 DLL 来更改字符串或添加对更多语言的支持,那么必须创建一个包含修改的 DLL 的哈希值的新目录文件。如果只对 DLL 进行了更改,而未更改驱动程序二进制文件,那么可以使用驱动程序更新可接受(Driver Update Acceptable,DUA)机制来接收目录的新签名,而无需使用驱动程序测试管理器(Driver Test Manager,DTM)重新测试。详细信息请参见Windows Quality Online 网站.
您应该做什么?
| • | 使用 INF 文件中的 AddPowerSetting 指令将设备电源设置与系统电源计划设置集成。 |
| • | 为外部 DLL 中的设置名称和描述提供本地化的友好字符串。 |
| • | 如有必要,通过用 Winqual 网站上的 DUA 机制使用新签名更新驱动程序包。 |
更多信息:
Windows Vista 中的电源配置和部署策略
Windows Vista TechCenter 中的 Microsoft TechNetPowercfg 命令行选项
Windows 驱动程序开发包
INF AddPowerSetting 指令
管理设备性能状态