Diretiva INF DelReg
Cuidado
Se você estiver criando um pacote de drivers universal ou do Windows, essa diretiva não será válida. Consulte Usar um arquivo INF universal e Introdução ao desenvolvimento de drivers do Windows.
Uma diretiva DelReg faz referência a uma ou mais seções INF-writer-defined que descrevem chaves e/ou entradas de valor a serem removidas do registro.
[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]...
Cada de-registry-section referenciada por uma diretiva DelReg tem o seguinte formato:
[del-registry-section]
reg-root-string,subkey[,value-entry-name][,flags][,value]
reg-root-string,subkey[,value-entry-name][,flags][,value]
...
Uma del-registry-section pode ter qualquer número de entradas, cada uma em uma linha separada.
Entradas
reg-root-string
Identifica a raiz da árvore do Registro para outros valores fornecidos nesta entrada. O valor pode ser um dos seguintes:
HKCR
Abreviatura de HKEY_CLASSES_ROOT.
HKCU
Abreviatura de HKEY_CURRENT_USER.
HKLM
Abreviatura de HKEY_LOCAL_MACHINE.
HKU
Abreviatura de HKEY_USERS.
HKR
Raiz relativa, em que as chaves especificadas usando essa abreviação são relativas à chave do registro associada à seção INF na qual essa diretiva DelReg aparece, conforme indicado na tabela a seguir.
Seção INF contendo a diretiva AddReg | Chave do registro referenciada por HKR |
---|---|
Seção INF DDInstall | A chave de software do dispositivo |
Seção DDInstall.HW do INF | A chave de hardware do dispositivo |
Seção DDInstall.Services do INF | A chave Services |
Observação
O HKR não pode ser usado em uma seção del-registry-section referenciada de uma seção DefaultInstall do INF.
Para mais informações sobre as informações de driver armazenadas na raiz HKEY_LOCAL_MACHINE, consulte Árvores e chaves do registro para dispositivos e drivers.
subkey
Este valor opcional, formado seja como um token %strkey% definido em uma seção Strings do INF como um caminho do registro sob reg-root (key1\key2\key3...) especifica um dos seguintes:
Uma subchave a ser excluída do registro no fim do caminho do registro fornecido
Uma subchave existente da qual o value-entry-name deve ser excluído
value-entry-name
Esse valor identifica uma entrada de valor nomeado a ser removida da subchave fornecida. Esse valor e sua vírgula anterior devem ser omitidos se a própria subchave estiver sendo removida do registro.
flags (Para Windows Vista e versões posteriores do Windows.)
Esse valor hexadecimal opcional, expresso como uma máscara de bits ORed de valores de sinalizador de palavra baixa e alta definidos pelo sistema, define o tipo de dados para uma entrada de valor ou controla a operação de exclusão do registro. Se flags não for especificado, o value-entry-name (se especificado) ou a subkey serão excluídos.
Os valores de bitmask para cada um desses sinalizadores são os seguintes:
0x00002000 (FLG_DELREG_KEYONLY_COMMON)
Exclua toda a subchave.
0x00004000 (FLG_DELREG_32BITKEY)
Faça a alteração especificada no registro de 32 bits. Se não for especificado, a alteração será feita no registro nativo.
0x00018002 (FLG_DELREG_MULTI_SZ_DELSTRING)
Em uma entrada do registro de várias cadeias de caracteres, exclua todas as cadeias de caracteres que correspondem a um valor de cadeia de caracteres especificado por value. Maiúsculas e minúsculas são ignoradas.
value (Para Windows Vista e versões posteriores do Windows.)
Especifica um valor do registro, se flags indicar que um valor do registro é necessário.
Comentários
Uma diretiva DelReg pode ser especificada em qualquer uma das seções mostradas na instrução de sintaxe formal acima. Essa diretiva também pode ser especificada em qualquer uma das seguintes seções definidas pelo gravador do INF:
Uma service-install-section ou uma seção event-log-install referenciada pela diretiva AddService em uma seção INF DDInstall.Services.
Uma add-interface-section referenciada pela diretiva AddInterface em uma seção INF DDInstall.Interfaces.
Uma install-interface-section referenciada em uma seção INF InterfaceInstall32.
Em geral, um INF nunca deve tentar excluir subchaves ou entradas de valor em subchaves existentes que foram configuradas por componentes do sistema ou pelos arquivos INF para outros dispositivos. A finalidade de uma seção del-registry-section é limpar informações obsoletas do registro de uma instalação anterior usando um novo arquivo INF fornecido pelo mesmo provedor.
Cada nome de del-registry-section deve ser exclusivo para o arquivo INF, mas pode ser referenciado por diretivas DelReg em outras seções do mesmo INF. Cada nome de seção deve seguir as regras gerais para definir nomes de seção. Para mais informações sobre essas regras, consulte Regras gerais de sintaxe para arquivos INF.
Com versões do sistema operacional anteriores ao Windows XP, a única maneira de excluir uma chave é especificando o seguinte:
reg-root-string, subkey
Para o Windows XP e versões posteriores do Windows, o seguinte também é permitido (para especificar o Registro de 32 bits):
reg-root-string, subkey,,0x4000
Exemplos
Este exemplo mostra como o INF do instalador da classe de portas COM/LPT fornecido pelo sistema remove informações obsoletas do Registro específicas do NT sobre portas COM do Registro.
[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