Directiva INF BitReg

Precaución

A partir de Windows 11 versión 22H2, un paquete de controladores que usa esta directiva ya no es apto para una firma del Centro para desarrolladores de hardware.

Los paquetes de controladores universales y los controladores de Windows no pueden usar esta directiva.

Una directiva BitReg hace referencia a una o varias secciones definidas por INF-writer que se usan para establecer o borrar bits dentro de una entrada de valor de tipo de REG_BINARY existente en el Registro. Sin embargo, esta directiva rara vez se usa en archivos INF del dispositivo o controlador.

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

Se puede especificar una directiva BitReg en cualquiera de las secciones que se muestran en la instrucción de sintaxis formal anterior. Esta directiva también se puede especificar en cualquiera de las siguientes secciones definidas por INF-writer:

  • Una sección service-install-section o event-log-install a la que hace referencia la directiva AddService en una sección DDInstall.Services.
  • Una sección add-interface-section a la que hace referencia la directiva AddInterface en un DDInstall. Sección Interfaces .
  • Una sección install-interface-section a la que se hace referencia en una sección InterfaceInstall32

Cada sección con nombre a la que hace referencia una directiva BitReg tiene el siguiente formato:

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

Una sección de registro de bits puede tener cualquier número de entradas, cada una en una línea independiente.

Entradas

reg-root
Identifica la raíz del árbol del Registro para otros valores proporcionados en esta entrada. El valor puede ser uno de los siguientes:

HKCR
Abreviatura de HKEY_CLASSES_ROOT.

HKCU
Abreviatura de HKEY_CURRENT_USER.

HKLM
Abreviatura de HKEY_LOCAL_MACHINE.

HKU
Abreviatura de HKEY_USERS.

HKR
Raíz relativa : es decir, las claves especificadas mediante esta abreviatura son relativas a la clave del Registro asociada a la sección INF en la que aparece esta directiva BitReg , como se indica en la tabla siguiente.

Sección INF que contiene la directiva BitReg Clave del Registro a la que hace referencia HKR
Sección INF DDInstall Clave de software del dispositivo
INF DDInstall. Sección HW Clave de hardware del dispositivo
INF DDInstall. Sección Servicios Clave de servicios

Nota

HKR no se puede usar en una sección de registro de bits a la que se hace referencia desde una sección DefaultInstall de INF.

Para obtener más información sobre la información del controlador almacenada en la raíz de HKEY_LOCAL_MACHINE , consulte Árboles y claves del Registro para dispositivos y controladores.

subkey
Este valor opcional, expresado como un token %strkey% definido en una sección Strings del INF o como una ruta de acceso del Registro bajo la raíz reg especificada (key1\key2\key3...), especifica la clave que contiene la entrada de valor que se va a modificar.

value-entry-name
Especifica el nombre de una entrada de valor de tipo REG_BINARY existente en la subclave (existente) que se va a modificar. Se puede expresar como "cadena entre comillas" o como un token %strkey% que se define en la sección Cadenas de INF.

flags
Este valor hexadecimal opcional, expresado como máscara de bits ORed de valores de marca de palabra baja y alta definidos por el sistema, especifica si se van a borrar o establecer los bits especificados en la máscara de bytes especificada. Su valor predeterminado es cero, que borra los bits de la sección de 64 bits del Registro.

Los valores de máscara de bits para cada una de estas marcas son los siguientes:

0x00000000 (FLG_BITREG_CLEARBITS)
Borre los bits especificados por byte-mask.

0x00000001 (FLG_BITREG_SETBITS)
Establezca los bits especificados por byte-mask.

0x00004000 (FLG_BITREG_32BITKEY) (Windows XP y versiones posteriores de Windows).
Realice el cambio especificado en el Registro de 32 bits. Si no se especifica, el cambio se realiza en el registro nativo.

byte-mask
Esta máscara de tamaño byte, expresada en notación hexadecimal, especifica los bits que se van a borrar o establecer en el valor actual del nombre de entrada de valor especificado.

byte-to-modify
Este valor de tamaño de byte, expresado en decimal, especifica el índice de base cero del byte dentro del valor de tipo REG_BINARY que se va a modificar.

Comentarios

Cada nombre de sección de registro de bits debe ser único para el archivo INF, pero las directivas BitReg pueden hacer referencia a ellas en otras secciones del mismo INF. Cada nombre de sección creado por INF-writer debe ser único dentro del archivo INF y debe seguir las reglas generales para definir nombres de sección. Para obtener más información sobre estas reglas, vea Reglas de sintaxis general para archivos INF.

El valor de una entrada de valor de tipo REG_BINARY existente también se puede modificar sobrescribiendo su valor actual dentro de una sección del registro de complemento en otra parte del archivo INF. Para obtener más información sobre las secciones add-registry, consulte la referencia de la directiva AddReg .

El uso de una directiva BitReg requiere la definición de otra sección de archivo INF. Sin embargo, el valor de una entrada de valor de tipo REG_BINARY existente se puede modificar bit a bit en dicha sección, conservando así los valores de todos los bits restantes.

Ejemplos

En el ejemplo siguiente se muestra una sección de registro de bits para una aplicación ficticia.

[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

Consulte también

AddInterface

AddReg

AddService

ClassInstall32

DDInstall

DDInstall. CoInstallers

DDInstall. HW

InterfaceInstall32