INF BitReg 指示詞
BitReg 指示詞會參考一或多個 INF 寫入器定義的區段,用來設定或清除登錄中現有REG_BINARY類型值專案內的位。 不過,此指示詞很少用於裝置/驅動程式 INF 檔案。
[DDInstall] |
[DDInstall.HW] |
[DDInstall.CoInstallers] |
[ClassInstall32] |
[ClassInstall32.ntx86] |
[ClassInstall32.ntia64] | (Windows XP and later versions of Windows)
[ClassInstall32.ntamd64] | (Windows XP and later versions of Windows)
[ClassInstall32.ntarm] | (Windows 8 and later versions of Windows)
[ClassInstall32.ntarm64] (Windows 10 version 1709 and later versions of Windows)
BitReg=bit-registry-section[,bit-registry-section]...
您可以在上述正式語法語句所示的任何區段下指定 BitReg 指示詞。 您也可以在下列任一 INF 寫入器定義的區段下指定這個指示詞:
- DDInstall.Services 區段中 AddService 指示詞所參考的 service-install-section 或 event-log-install 區段。
- AddInterface 指示詞在 DDInstall 中參考的 add-interface-section。介面區段。
- InterfaceInstall32 區段中參考的 install-interface-section
BitReg 指示詞所參考的每個具名區段都有下列形式:
[bit-registry-section]
reg-root, [subkey], value-entry-name, [flags], byte-mask, byte-to-modify
reg-root, [subkey], value-entry-name, [flags], byte-mask, byte-to-modify
...
位登錄區段可以有任意數目的專案,每個專案都位於個別行上。
項目
reg-root
識別這個專案中提供之其他值的登錄樹狀目錄根目錄。 此值可以是下列其中一項:
HKCR
HKEY_CLASSES_ROOT的縮寫。
HKCU
HKEY_CURRENT_USER的縮寫。
HKLM
HKEY_LOCAL_MACHINE縮寫。
HKU
HKEY_USERS縮寫。
HKR
相對 root • 也就是說,使用此縮寫所指定的機碼,是相對於與此 BitReg 指示詞出現之 INF 區段相關聯的登錄機碼,如下表所示。
包含 BitReg 指示詞的 INF 區段 | HKR 參考的登錄機碼 |
---|---|
INF DDInstall 區段 | 裝置 的軟體金鑰 |
INF DDInstall。HW 區段 | 裝置的硬體 金鑰 |
INF DDInstall。服務 區段 | 服務金鑰 |
注意
HKR 不能用於 INF DefaultInstall 區段所參考的位登錄區段。
如需儲存在 HKEY_LOCAL_MACHINE 根目錄下之驅動程式資訊的詳細資訊,請參閱 裝置和驅動程式的登錄樹狀架構和密鑰。
子機碼
這個選擇性值,表示為 INF 之 Strings 區段中定義的 %strkey% 標記,或指定為指定 reg-root (key1\key2\key3...) 下的登錄路徑,指定包含要修改之值專案的機碼。
value-entry-name
指定要修改之子機碼中現有 REG_BINARY類型值項目的名稱。 它可以表示為「引號字串」,或以 INF 的 Strings 區段中定義的 %strkey% 標記表示。
flags
這個選擇性的十六進位值,以系統定義的低字和高字旗標值的 ORed 位掩碼表示,指定是要清除或設定指定位元組遮罩中指定的位。 其預設值為零,它會清除登錄中64位區段中的位。
每個旗標的位掩碼值如下:
0x00000000 (FLG_BITREG_CLEARBITS)
清除位元組遮罩指定的位。
0x00000001 (FLG_BITREG_SETBITS)
設定位元組遮罩指定的位。
0x00004000 (FLG_BITREG_32BITKEY) (Windows XP 和更新版本的 Windows。)
在32位登錄中進行指定的變更。 如果未指定,則會對原生登錄進行變更。
byte-mask
這個位元組大小的遮罩,以十六進位表示法表示法表示,指定要清除或設定在指定 value-entry-name 的目前值中的位。
byte-to-modify
以十進位表示的這個位元組大小值會指定要修改之REG_BINARY類型值內位元組的以零起始的索引。
備註
每個 bit-registry-section 名稱都必須是 INF 檔案的唯一名稱,但是可以在相同 INF 的其他區段中由 BitReg 指示詞參考。 每個 INF 寫入器建立的區段名稱在 INF 檔案內都必須是唯一的,而且必須遵循定義區段名稱的一般規則。 如需這些規則的詳細資訊,請參閱 INF 檔案的一般語法規則。
現有 REG_BINARY類型值專案的值也可以藉由覆寫 INF 檔案中其他地方的 add-registry 區段內的目前值來修改。 如需 add-registry 區段的詳細資訊,請參閱 AddReg 指示詞的參考。
使用 BitReg 指示詞需要另一個 INF 檔案區段的定義。 不過,在這類區段中,可以修改現有 REG_BINARY型別值專案的值,藉此保留所有剩餘位的值。
範例
下列範例顯示虛構應用程式的位登錄區段。
[AppX_BitReg]
; set first bit of byte 0 in ProgramData value entry
HKLM,Software\AppX,ProgramData,1,0x01,0
; preceding would change value 30,00,10 to 31,00,10
; clear high bit of byte 2 in ProgramData value entry
HKLM,Software\AppX,ProgramData,,0x80,2
; preceding would change value 30,00,f0 to 30,00,70
; set second and third bits of byte 1 in ProgramData value entry
HKLM,Software\AppX,ProgramData,1,0x06,1
; preceding would change value 30,00,f0 to 30,06,f0