原文连接地址:http://blog.csdn.net/weiwei22844/article/details/6088889编程
最近在学习驱动编程的INF文件格式时,在AddReg等directive中有不少与注册表相关的内容,现总结以下:windows
HKCR表明HKEY_CLASSES_ROOT;
HKCU表明HKEY_CURRENT_USER;
HKLM表明HKEY_LOCAL_MACHINE
HKU表明HKEY_USERS
比较麻烦的是HKR,该缩写表明那个注册表键值的缩写呢?经过查询帮助文档能够发现以下解释:学习
(1)在DDInstall section中,HKR缩写表示的是设备的software key(软件子键),具体注册表键值是:
HKLM/SYSTEM/CurrentControlSet/Control/Class/%ClassGuid%/%DeviceIndex%
其中ClassGuid是设备类的GUID,DeviceIndex是设备序号,若是PC中有多于一个的同类设备,序号会顺序排列下去0000、000一、0002……ui
(2)在DDInstall.HW section中,HKR缩写表示的是设备的hardware key(硬件子键),具体注册表键值是:
HKLM/SYSTEM/CurrentControlSet/Enum/enumerator/deviceID,其中enumerator是设备类别,deviceID是设备的id号.net
(3)在DDInstall.Services section中,HKR缩写表示的是Services key(服务子键),具体注册表键值是:
HKLM/SYSTEM/CurrentControlSet/Serviceblog
(4)在DDInstall.Interfaces section中,通常在用AddInterface Directive来进行和注册表相关的操做时会用的HKR,这时HKR缩写表示HKLM/SYSTEM/CurrentControlSet/Control/DeviceClasses/%InterfaceClassGUID%/ branch,其中InterfaceClassGUID由AddInterface Directive的第一个参数指定,branch由AddInterface Directive的第二个参数指定。文档
(5)在ClassInstall32 section中,有时候也会出现HKR,这时HKR缩写表示HKLM/SYSTEM/CurrentControlSet/Control/Class/%ClassGUID%,其中ClassGuid是设备类的GUID。get
另外在编写INF时,有时候会用一些整数来表示特定的路径,如:io
10 = C:/Windows(即windows目录)
11 = C:/Windows/system32(即windows系统目录)
12 = C:/Windows/system32/drivers (即windows驱动目录)软件
固然对于不一样的系统有一些细微的差异,可是大致上就是这样的,以上是按本人的机子进行说明的,个人机子上安装的是Vista系统。