Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Caution
A partir do Windows 11 versão 22H2, um pacote de drivers que utilize esta diretiva deixa de ser elegível para assinatura do Hardware Developer Center.
Os pacotes universais de drivers e os drivers do Windows não podem usar esta diretiva.
Uma diretiva BitReg refere-se a uma ou mais secções definidas pelo escritor INF usadas para definir ou limpar bits dentro de uma entrada de valor do tipo REG_BINARY existente no registo. No entanto, esta diretiva raramente é usada em ficheiros INF de dispositivos/drivers.
[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 secções apresentadas na declaração formal de sintaxe acima. Esta diretiva pode também ser especificada em qualquer uma das seguintes secções definidas pelo INF-writer:
- Uma secção de instalação de serviços ou secção de registo de eventos referenciada pela diretiva AddService numa secção DDInstall.Services.
- Uma secção de interface adicional referenciada pela diretiva AddInterface numa secção DDInstall. Interfaces .
- Uma secção de interface de instalação referenciada numa secção InterfaceInstall32
Cada secção nomeada referenciada por uma diretiva BitReg tem a seguinte forma:
[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 secção de registo de bits pode ter qualquer número de entradas, cada uma numa linha separada.
Entradas
reg-root
Identifica a raiz da árvore do registo 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
A raiz relativa − ou seja, as chaves especificadas usando esta abreviatura são relativas à chave de registo associada à secção INF onde esta diretiva BitReg aparece, conforme indicado na tabela seguinte.
| Secção INF contendo a diretiva BitReg | Chave do Registo Referenciada pela HKR |
|---|---|
| Secção INF DDInstall | A chave de software do dispositivo |
| INF DDInstall. Secção de HW | A chave de hardware do dispositivo |
| INF DDInstall. Secção de serviços | A chave dos Serviços |
Note
O HKR não pode ser usado numa secção de registo de bits referenciada a partir de uma secção INF DefaultInstall .
Para mais informações sobre a informação dos drivers armazenada na raiz HKEY_LOCAL_MACHINE , consulte Árvores de Registo e Chaves para Dispositivos e Controladores.
Subchave
Este valor opcional, expresso quer como um %strkey% token definido numa secção Strings do INF, quer como um caminho de registo sob a reg-root dada (key1\key2\key3...), especifica a chave que contém a entrada de valor a ser modificada.
Nome-Entrada-Valor
Especifica o nome de uma entrada de valor do tipo REG_BINARY existente na subchave (existente) a ser modificada. Pode ser expressa tanto como "string entre aspas" como um token %strkey% definido na secção Strings do INF.
flags
Este valor hexadecimal opcional, expresso como uma máscara de bits OR com valores de palavra baixa e flag de palavra alta definidos pelo sistema, especifica se deve limpar ou definir os bits especificados na máscara de bytes dada. O seu valor padrão é zero, o que limpa os bits na secção de 64 bits do registo.
Os valores da máscara de bits para cada uma destas bandeiras são os seguintes:
0x00000000 (FLG_BITREG_CLEARBITS)
Apague 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 de Windows.)
Faça a alteração especificada no registo de 32 bits. Se não for especificado, a alteração é feita no registo nativo.
Máscara de bytes
Esta máscara de tamanho de byte, expressa em notação hexadecimal, especifica quais os bits a limpar ou definir no valor atual do nome de entrada-valor dado.
byte-to-modify
Este valor do tamanho de um byte, expresso em decimal, especifica o índice baseado em zero do byte dentro do valor do tipo REG_BINARY a ser modificado.
Remarks
Cada nome de secção de registo de bits deve ser único para o ficheiro INF, mas pode ser referenciado por diretivas BitReg noutras secções do mesmo INF. Cada nome de secção criado pelo escritor INF deve ser único dentro do ficheiro INF e deve seguir as regras gerais para definir nomes de secção. Para mais informações sobre estas regras, consulte Regras Gerais de Sintaxe para Ficheiros INF.
O valor de uma entrada de valor do tipo REG_BINARY existente também pode ser modificado sobrescrevendo o seu valor atual dentro de uma secção de registo adicional noutra parte do ficheiro INF. Para mais informações sobre as secções do registo de adição, consulte a referência para a diretiva AddReg .
A utilização de uma diretiva BitReg requer a definição de outra secção de ficheiro INF. No entanto, o valor de uma entrada existente do tipo REG_BINARY pode ser modificado bit a bit numa secção desse tipo, preservando assim os valores de todos os bits restantes.
Examples
O exemplo seguinte mostra uma secção de registo de bits para uma aplicação fictícia.
[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