INF文件中的HKR

原文連接地址: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系統。

相關文章
相關標籤/搜索