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 區段。
- DDInstall 中 AddInterface 指示詞所參考的 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
...
bit-registry-section 可以有任意數目的專案,每個專案都位於個別行上。
項目
reg-root
識別這個專案中提供之其他值的登錄樹狀目錄根目錄。 這個值可以是下列值之一:
HKCR
HKEY_CLASSES_ROOT縮寫。
HKCU
HKEY_CURRENT_USER的縮寫。
HKLM
HKEY_LOCAL_MACHINE的縮寫。
香港
HKEY_USERS縮寫。
HKR
相對根 - 也就是說,使用此縮寫所指定的機碼,會相對於這個 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
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應