原文链接地址:
最近在学习驱动编程的INF文件格式时,在AddReg等directive中有很多与注册表相关的内容,现总结如下:
HKCR代表HKEY_CLASSES_ROOT;
HKCU代表HKEY_CURRENT_USER;HKLM代表HKEY_LOCAL_MACHINEHKU代表HKEY_USERS比较麻烦的是HKR,该缩写代表那个注册表键值的缩写呢?通过查询帮助文档可以发现如下解释:(1)在DDInstall section中,HKR缩写表示的是设备的software key(软件子键),具体注册表键值是:
HKLM/SYSTEM/CurrentControlSet/Control/Class/%ClassGuid%/%DeviceIndex%其中ClassGuid是设备类的GUID,DeviceIndex是设备序号,如果PC中有多于一个的同类设备,序号会顺序排列下去0000、0001、0002……(2)在DDInstall.HW section中,HKR缩写表示的是设备的hardware key(硬件子键),具体注册表键值是:
HKLM/SYSTEM/CurrentControlSet/Enum/enumerator/deviceID,其中enumerator是设备类别,deviceID是设备的id号(3)在DDInstall.Services section中,HKR缩写表示的是Services key(服务子键),具体注册表键值是:
HKLM/SYSTEM/CurrentControlSet/Service(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。
另外在编写INF时,有时候会用一些整数来表示特定的路径,如:
10 = C:/Windows(即windows目录)
11 = C:/Windows/system32(即windows系统目录)12 = C:/Windows/system32/drivers (即windows驱动目录)当然对于不同的系统有一些细微的差别,但是大体上就是这样的,以上是按本人的机子进行说明的,我的机子上安装的是Vista系统。