INF DelReg 指示詞
警告
如果您要建置通用或 Windows 驅動程式套件,則這個指示詞無效。 請參閱 使用通用 INF 檔案 和 開始開發 Windows 驅動程式。
DelReg 指示詞會參考一或多個 INF 寫入器定義的區段,描述要從登錄中移除的索引鍵和/或值專案。
[DDInstall] |
[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)
DelReg=del-registry-section[,del-registry-section]...
DelReg 指示詞所參考的每個 del-registry-section 都有下列形式:
[del-registry-section]
reg-root-string,subkey[,value-entry-name][,flags][,value]
reg-root-string,subkey[,value-entry-name][,flags][,value]
...
del-registry-section 可以有任意數目的專案,每個專案位於個別行上。
項目
reg-root-string
識別這個專案中提供之其他值的登錄樹狀目錄根目錄。 此值可以是下列其中一項:
HKCR
HKEY_CLASSES_ROOT的縮寫。
HKCU
HKEY_CURRENT_USER的縮寫。
HKLM
HKEY_LOCAL_MACHINE縮寫。
HKU
HKEY_USERS縮寫。
HKR
相對根目錄,使用這個縮寫所指定的機碼會相對於這個 DelReg 指示詞出現之 INF 區段相關聯的登錄機碼,如下表所示。
包含 AddReg 指示詞的 INF 區段 | HKR 參考的登錄機碼 |
---|---|
INF DDInstall 區段 | 裝置 的軟體金鑰 |
INF DDInstall。HW 區段 | 裝置的硬體 金鑰 |
INF DDInstall。服務 區段 | 服務金鑰 |
注意
HKR 不能用於 INF DefaultInstall 區段所參考的 del-registry-section。
如需儲存在 HKEY_LOCAL_MACHINE 根目錄下之驅動程式資訊的詳細資訊,請參閱 裝置和驅動程式的登錄樹狀架構和密鑰。
子機碼
這個選擇性值會形成為 INF 之 Strings 區段中定義的 %strkey% 令牌,或指定為指定 reg-root (key1\key2\key3...) 下的登錄路徑,指定下列其中一項:
要從指定登錄路徑結尾處從登錄中刪除的子機碼
要刪除指定 value-entry-name 的現有子機碼
value-entry-name
這個值會識別要從指定子機碼中移除的具名值專案。 如果子機碼本身已從登錄中移除,則應該省略此值及其前面的逗號。
旗標 (Windows XP 和更新版本的 Windows.)
這個選擇性的十六進位值,以系統定義的低字和高字旗標值的 ORed 位掩碼表示、定義值專案的數據類型,或控制 delete-registry 作業。 如果未 指定旗標 , 則會刪除 value-entry-name (如果指定)或 子機碼 。
每個旗標的位掩碼值如下:
0x00002000 (FLG_DELREG_KEYONLY_COMMON)
刪除整個子機碼。
0x00004000 (FLG_DELREG_32BITKEY)
在32位登錄中進行指定的變更。 如果未指定,則會對原生登錄進行變更。
0x00018002 (FLG_DELREG_MULTI_SZ_DELSTRING)
在多字串登錄專案中,刪除符合 value 所指定字串值的所有字串串。 會忽略大小寫。
value (Windows XP 和更新版本的 Windows.)
如果 旗標 指出需要登錄值,則指定登錄值。
備註
您可以在上述正式語法語句所示的任何區段下指定 DelReg 指示詞。 您也可以在下列任一 INF 寫入器定義的區段下指定這個指示詞:
INF DDInstall 中 AddService 指示詞所參考的 service-install-section 或 event-log-install 區段。服務區段。
INF DDInstall 中 AddInterface 指示詞所參考的 add-interface-section。介面區段。
INF InterfaceInstall32 區段中參考的 install-interface-section。
一般而言,INF 不應該嘗試刪除由系統元件或其他裝置 INF 檔案所設定之現有子機碼內的子機碼或值專案。 del-registry-section 的目的是使用相同提供者提供的新 INF 檔案,從先前安裝清除過時的登錄資訊。
每個 del-registry-section 名稱都必須是 INF 檔案的唯一名稱,但是可以在相同 INF 的其他區段中由 DelReg 指示詞參考。 每個區段名稱都必須遵循定義區段名稱的一般規則。 如需這些規則的詳細資訊,請參閱 INF 檔案的一般語法規則。
使用 Windows XP 之前的作業系統版本時,刪除金鑰的唯一方式是指定下列專案:
reg-root-string, subkey
針對 Windows XP 和更新版本的 Windows,也允許下列專案 (指定 32 位登錄):
reg-root-string, subkey,,0x4000
範例
此範例示範系統提供的 COM/LPT 埠類別安裝程式 INF 如何從登錄中移除過時的 NT 特定登錄資訊。
[ComPort.NT]
AddReg=ComPort.NT.AddReg
... ; more directives omitted here
[ComPort.NT.HW]
DelReg=ComPort.NT.HW.DelReg
[Comport.NT.AddReg]
HKR,,EnumPropPages32,,"MSPorts.dll,SerialPortPropPageProvider"
[ComPort.NT.HW.DelReg]
HKR,,UpperFilters