Diretiva INF BitReg

Cuidado

A partir Windows 11 versão 22H2, um pacote de driver que usa essa diretiva não está mais qualificado para uma assinatura do Centro de Desenvolvedores de Hardware.

Os pacotes de driver universais e os Drivers do Windows não podem usar essa diretiva.

Uma diretiva BitReg faz referência a uma ou mais seções definidas pelo gravador INF usadas para definir ou limpar bits dentro de uma entrada de valor de tipo REG_BINARY existente no registro. No entanto, essa diretiva raramente é usada em arquivos INF de dispositivo/driver.

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

Uma diretiva BitReg 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 INF:

Cada seção nomeada referenciada por uma diretiva BitReg tem o seguinte formulário:

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

Uma seção de registro de bits pode ter qualquer número de entradas, cada uma em uma linha separada.

Entradas

reg-root
Identifica a raiz da árvore do Registro para outros valores fornecidos nesta entrada. O valor pode ser um dos seguintes:

HKCR
Abreviação de HKEY_CLASSES_ROOT.

HKCU
Abreviação para HKEY_CURRENT_USER.

HKLM
Abreviação para HKEY_LOCAL_MACHINE.

HKU
Abreviação para HKEY_USERS.

HKR
Raiz relativa – ou seja, as chaves especificadas usando essa abreviação são relativas à chave do Registro associada à seção INF na qual essa diretiva BitReg aparece, conforme indicado na tabela a seguir.

Seção INF que contém a diretiva BitReg Chave do Registro Referenciada por HKR
Seção INF DDInstall A chave de software do dispositivo
INF DDInstall. Seção HW A chave de hardware do dispositivo
INF DDInstall. Seção Serviços A chave serviços

Observação

O HKR não pode ser usado em uma seção de registro de bit referenciada de uma seção DefaultInstall do INF.

Para obter mais informações sobre informações de driver armazenadas na raiz HKEY_LOCAL_MACHINE , consulte Árvores e Chaves do Registro para Dispositivos e Drivers.

subkey
Esse valor opcional, expresso como um token %strkey% definido em uma seção Strings do INF ou como um caminho do Registro sob a raiz reg fornecida (key1\key2\key3...), especifica a chave que contém a entrada de valor a ser modificada.

value-entry-name
Especifica o nome de uma entrada de valor de tipo REG_BINARY existente na subchave (existente) a ser modificada. Ele pode ser expresso como "cadeia de caracteres entre aspas" ou como um token %strkey% definido na seção Cadeias de Caracteres do INF.

sinalizadores
Esse valor hexadecimal opcional, expresso como uma máscara de bits ORed de valores de palavra baixa e sinalizador de palavra alta definidos pelo sistema, especifica se deve limpar ou definir os bits especificados na máscara de bytes fornecida. Seu valor padrão é zero, o que limpa os bits na seção de 64 bits do Registro.

Os valores de máscara de bits para cada um desses sinalizadores são os seguintes:

0x00000000 (FLG_BITREG_CLEARBITS)
Limpe os bits especificados pela máscara de bytes.

0x00000001 (FLG_BITREG_SETBITS)
Defina os bits especificados por byte-mask.

0x00004000 (FLG_BITREG_32BITKEY) (Windows XP e versões posteriores do Windows.)
Faça a alteração especificada no registro de 32 bits. Se não for especificado, a alteração será feita no registro nativo.

byte-mask
Essa máscara do tamanho de bytes, expressa na notação hexadecimal, especifica quais bits desmarcar ou definir no valor atual do valor-entrada-nome fornecido.

byte a ser modificado
Esse valor do tamanho de bytes, expresso em decimal, especifica o índice baseado em zero do byte dentro do valor de tipo REG_BINARY a ser modificado.

Comentários

Cada nome de seção do registro de bits deve ser exclusivo para o arquivo INF, mas pode ser referenciado por diretivas BitReg em outras seções do mesmo INF. Cada nome de seção criado pelo GRAVADOR INF deve ser exclusivo no arquivo INF e deve seguir as regras gerais para definir nomes de seção. Para obter mais informações sobre essas regras, consulte Regras gerais de sintaxe para arquivos INF.

O valor de uma entrada de valor de tipo REG_BINARY existente também pode ser modificado substituindo seu valor atual em uma seção de registro de suplemento em outro lugar no arquivo INF. Para obter mais informações sobre seções de add-registry, consulte a referência para a diretiva AddReg .

O uso de uma diretiva BitReg requer a definição de outra seção de arquivo INF. No entanto, o valor de uma entrada de valor de tipo REG_BINARY existente pode ser modificado bit a bit em tal seção, preservando assim os valores de todos os bits restantes.

Exemplos

O exemplo a seguir mostra uma seção de registro de bits para um aplicativo fictício.

[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

Confira também

Addinterface

AddReg

AddService

ClassInstall32

DDInstall

DDInstall. CoInstaladores

DDInstall. HW

InterfaceInstall32