Share via


INF BitReg 指示詞

警告

從 Windows 11 22H2 版開始,使用此指示詞的驅動程式套件已不再符合硬體開發人員中心的簽章資格。

通用驅動程式套件Windows 驅動程式 無法使用這個指示詞。

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-sectionevent-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

另請參閱

AddInterface

AddReg

AddService

ClassInstall32

DDInstall

DDInstall。CoInstallers

DDInstall。硬體

InterfaceInstall32