Поделиться через


Директива INF DelReg

Внимание

Если вы создаете универсальный или пакет драйвера Windows, эта директива недопустима. Ознакомьтесь с использованием универсального INF-файла и начала разработки драйверов Windows.

Директива DelReg ссылается на один или несколько разделов, определенных inf-writer, описывающих ключи и/или записи значений, которые будут удалены из реестра.

[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]...

Каждый раздел del-registry, на который ссылается директива DelReg , имеет следующую форму:

[del-registry-section]
reg-root-string,subkey[,value-entry-name][,flags][,value]
reg-root-string,subkey[,value-entry-name][,flags][,value]
...

Раздел del-registry может содержать любое количество записей, каждое из которых содержит отдельную строку.

Операции

reg-root-string
Определяет корневой каталог дерева реестра для других значений, указанных в этой записи. Может иметь следующие значения:

HKCR
Сокращение для HKEY_CLASSES_ROOT.

HKCU
Сокращение для HKEY_CURRENT_USER.

HKLM
Сокращение для HKEY_LOCAL_MACHINE.

HKU
Сокращение для HKEY_USERS.

HKR
Относительный корень, в котором ключи, указанные с помощью этого сокращения, относятся к разделу реестра, связанному с разделом INF, в котором отображается эта директива DelReg , как указано в следующей таблице.

РАЗДЕЛ INF, содержащий директиву AddReg Раздел реестра, на который ссылается HKR
Раздел INF DDInstall Ключ программного обеспечения устройства
INF DDInstall. Раздел HW Аппаратный ключ устройства
INF DDInstall. Раздел "Службы" Ключ служб

Примечание.

HKR нельзя использовать в разделе del-registry, на который ссылается раздел INF DefaultInstall.

Дополнительные сведения об драйверах, хранящихся в корневом каталоге HKEY_LOCAL_MACHINE , см. в разделах "Деревья реестра" и "Ключи" для устройств и драйверов.

вложенный ключ
Это необязательное значение, сформированное как маркер %strkey% , определенный в разделе Strings INF или в качестве пути реестра в заданном корневом каталоге reg-root (key1\key2\key3...), указывает одно из следующих элементов:

  • Вложенный ключ, который необходимо удалить из реестра в конце заданного пути реестра

  • Существующий подраздел, из которого необходимо удалить заданное имя-значение-запись

value-entry-name
Это значение определяет запись именованного значения, которая будет удалена из заданного подраздела. Это значение и его предыдущая запятая должны быть опущены, если сам подраздел удаляется из реестра.

флаги (Windows XP и более поздние версии Windows.)
Это необязательное шестнадцатеричное значение, выраженное в виде битовой маски ORed для системных значений низких слов и высоких значений флагов слов, определяет тип данных для записи значения или управляет операцией удаления реестра. Если флаги не указаны, будет удалено имя-значение -entry-name (если указано) или вложенный ключ .

Значения битовой маски для каждого из этих флагов приведены следующим образом:

0x00002000 (FLG_DELREG_KEYONLY_COMMON)
Удалите весь подраздел.

0x00004000 (FLG_DELREG_32BITKEY)
Внесите указанные изменения в 32-разрядный реестр. Если это не указано, изменения вносятся в собственный реестр.

0x00018002 (FLG_DELREG_MULTI_SZ_DELSTRING)
В записи реестра с несколькими строками удалите все строки, соответствующие строке, заданному значением. Регистр игнорируется.

значение (Windows XP и более поздние версии Windows.)
Указывает значение реестра, если флаги указывают, что требуется значение реестра.

Замечания

Директива DelReg может быть указана в любом из разделов, показанных в формальной инструкции синтаксиса выше. Эта директива также может быть указана в любом из следующих разделов INF-writer:

Как правило, INF-файл никогда не должен пытаться удалить вложенные ключи или записи значений в существующих подключах, которые были настроены системными компонентами или INF-файлами для других устройств. Цель раздела del-registry — очистить устаревшие сведения о реестре из предыдущей установки с помощью нового INF-файла, предоставленного тем же поставщиком.

Каждое имя раздела del-registry должно быть уникальным для INF-файла, но на него можно ссылаться директивами DelReg в других разделах того же INF. Каждое имя раздела должно соответствовать общим правилам определения имен разделов. Дополнительные сведения об этих правилах см. в разделе Общие правила синтаксиса для INF-файлов.

В версиях операционной системы до Windows XP единственным способом удаления ключа является указание следующего:

reg-root-string, subkey

Для Windows XP и более поздних версий Windows также разрешено (указать 32-разрядный реестр):

reg-root-string, subkey,,0x4000

Примеры

В этом примере показано, как установщик класса ПОРТОВ COM/LPT, предоставленный системой, удаляет устаревшие сведения о портах COM из реестра.

[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

См. также

AddReg

AddInterface

AddService

ClassInstall32

DDInstall

DDInstall. HW

DDInstall. Услуги

InterfaceInstall32

Строки