Share via


Directive INF BitReg

Attention

À compter de Windows 11 version 22H2, un package de pilotes utilisant cette directive n’est plus éligible pour une signature du Centre de développement matériel.

Les packages de pilotes universels et les pilotes Windows ne peuvent pas utiliser cette directive.

Une directive BitReg fait référence à une ou plusieurs sections définies par l’enregistreur INF utilisées pour définir ou effacer des bits dans une entrée de valeur de type REG_BINARY existante dans le Registre. Toutefois, cette directive est rarement utilisée dans les fichiers INF de périphérique/pilote.

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

Une directive BitReg peut être spécifiée sous l’une des sections indiquées dans l’instruction de syntaxe formelle ci-dessus. Cette directive peut également être spécifiée sous l’une des sections suivantes définies par l’enregistreur INF :

Chaque section nommée référencée par une directive BitReg a la forme suivante :

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

Une section de registre de bits peut avoir un nombre quelconque d’entrées, chacune sur une ligne distincte.

Entrées

reg-root
Identifie la racine de l’arborescence du Registre pour les autres valeurs fournies dans cette entrée. Il peut s'agir de l'une des valeurs suivantes :

HKCR
Abréviation de HKEY_CLASSES_ROOT.

HKCU
Abréviation de HKEY_CURRENT_USER.

HKLM
Abréviation de HKEY_LOCAL_MACHINE.

HKU
Abréviation de HKEY_USERS.

HKR
Racine relative , autrement dit, les clés spécifiées à l’aide de cette abréviation sont relatives à la clé de Registre associée à la section INF dans laquelle cette directive BitReg apparaît, comme indiqué dans le tableau suivant.

Section INF contenant la directive BitReg Clé de Registre référencée par HKR
Section INF DDInstall Clé logicielle de l’appareil
INF DDInstall. Section HW Clé matérielle de l’appareil
INF DDInstall. Section Services Clé Services

Notes

HKR ne peut pas être utilisé dans une section de registre de bits référencée à partir d’une section INF DefaultInstall .

Pour plus d’informations sur les informations sur les pilotes stockées sous la racine HKEY_LOCAL_MACHINE , consultez Arborescences et clés du Registre pour les périphériques et les pilotes.

Sous-clé
Cette valeur facultative, exprimée sous la forme d’un jeton %strkey% défini dans une section Strings de l’INF ou en tant que chemin de Registre sous la racine reg donnée (key1\key2\key3...), spécifie la clé qui contient l’entrée de valeur à modifier.

value-entry-name
Spécifie le nom d’une entrée de valeur de type REG_BINARY existante dans la sous-clé (existante) à modifier. Il peut être exprimé sous la forme de « chaîne entre guillemets » ou sous la forme d’un jeton %strkey% défini dans la section Chaînes de l’INF.

flags
Cette valeur hexadécimale facultative, exprimée sous la forme d’un masque de bits ORed de valeurs de mots faibles et d’indicateurs de mot élevé définies par le système, spécifie s’il faut effacer ou définir les bits spécifiés dans le masque d’octet donné. Sa valeur par défaut est zéro, ce qui efface les bits dans la section 64 bits du Registre.

Les valeurs de masque de bits pour chacun de ces indicateurs sont les suivantes :

0x00000000 (FLG_BITREG_CLEARBITS)
Effacez les bits spécifiés par byte-mask.

0x00000001 (FLG_BITREG_SETBITS)
Définissez les bits spécifiés par by byte-mask.

0x00004000 (FLG_BITREG_32BITKEY) (Windows XP et versions ultérieures de Windows.)
Apportez la modification spécifiée dans le Registre 32 bits. Si elle n’est pas spécifiée, la modification est apportée au registre natif.

byte-mask
Ce masque de taille d’octets, exprimé en notation hexadécimale, spécifie les bits à effacer ou à définir dans la valeur actuelle de la valeur-entrée-nom donné.

octet à modifier
Cette valeur de taille d’octet, exprimée en décimal, spécifie l’index de base zéro de l’octet dans la valeur de type REG_BINARY à modifier.

Remarques

Chaque nom de section de registre de bits doit être propre au fichier INF, mais il peut être référencé par les directives BitReg dans d’autres sections du même INF. Chaque nom de section créé par l’enregistreur INF doit être unique dans le fichier INF et respecter les règles générales de définition des noms de section. Pour plus d’informations sur ces règles, consultez Règles de syntaxe générales pour les fichiers INF.

La valeur d’une entrée de valeur de type REG_BINARY existante peut également être modifiée en remplaçant sa valeur actuelle dans une section de registre supplémentaire ailleurs dans le fichier INF. Pour plus d’informations sur les sections add-registry, consultez la référence de la directive AddReg .

L’utilisation d’une directive BitReg nécessite la définition d’une autre section de fichier INF. Toutefois, la valeur d’une entrée de valeur de type REG_BINARY existante peut être modifiée bit par bit dans une telle section, préservant ainsi les valeurs de tous les bits restants.

Exemples

L’exemple suivant montre une section de registre de bits pour une application fictive.

[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

Voir aussi

AddInterface

AddReg

AddService

ClassInstall32

DDInstaller

DDInstall. Coinstallateurs

DDInstall. HW

InterfaceInstall32