Directive INF DelReg
Attention
Si vous créez un package de pilote universel ou Windows, cette directive n’est pas valide. Veuillez consulter la section Utilisation d’un fichier INF universel et Premiers pas dans le développement de pilotes Windows.
Une directive DelReg fait référence à une ou plusieurs sections définies par le writer INF décrivant des clés et/ou des entrées de valeur à supprimer du registre.
[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]...
Chaque del-registry-section référencée par une directive DelReg a la forme suivante :
[del-registry-section]
reg-root-string,subkey[,value-entry-name][,flags][,value]
reg-root-string,subkey[,value-entry-name][,flags][,value]
...
Une del-registry-section peut comporter un nombre quelconque d’entrées, chacune sur une ligne distincte.
Entries
reg-root-string
Identifie la racine de l’arborescence du registre pour d’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, dans laquelle les clés spécifiées en utilisant cette abréviation sont relatives à la clé de registre associée à la section INF dans laquelle cette directive DelReg apparaît, comme indiqué dans le tableau suivant.
Section INF contenant la directive AddReg | Clé de registre référencée par HKR |
---|---|
Section INF DDInstall | La clé logicielle du périphérique |
Section INF DDInstall.HW | La clé matérielle du périphérique |
Section INF DDInstall.Services | La clé Services |
Remarque
HKR ne peut pas être utilisé dans une del-registry-section référencée dans une section INF DefaultInstall section.
Pour plus d’informations sur les informations relatives aux pilotes qui sont stockées sous la racine HKEY_LOCAL_MACHINE, veuillez consulter la section Arbres et clés de registre pour les périphériques et pilotes.
sous-clé
Cette valeur optionnelle, formée soit comme un jeton %strkey% défini dans une section Strings de l’INF, soit comme un chemin de registre sous la reg-root donnée (key1\key2\key3...), spécifie l’une des options suivantes :
Une sous-clé à supprimer du registre à la fin du chemin de registre donné
Une sous-clé existante dont le nom d’entrée de valeur donné doit être supprimé
value-entry-name
Cette valeur identifie une entrée de valeur nommée à supprimer de la sous-clé donnée. Cette valeur et sa virgule précédente doivent être omises si la sous-clé elle-même est supprimée du registre.
flags (Windows XP et les versions ultérieures de Windows).
Cette valeur hexadécimale optionnelle, exprimée sous la forme d’un masque de bits ORed de valeurs d’indicateurs de mots bas et hauts définis par le système, définit le type de données pour une entrée de valeur ou contrôle l’opération de suppression du registre. Si flags n’est pas spécifié, value-entry-name (s’il est spécifié) ou subkey sera supprimé.
Les valeurs de masque de bits pour chacun de ces indicateurs sont les suivantes :
0x00002000 (FLG_DELREG_KEYONLY_COMMON)
Supprime toute la sous-clé.
0x00004000 (FLG_DELREG_32BITKEY)
Effectue le changement spécifié dans le registre 32 bits. Si non spécifié, le changement est effectué dans le registre natif.
0x00018002 (FLG_DELREG_MULTI_SZ_DELSTRING)
Dans une entrée de registre de type chaîne multiple, supprime toutes les chaînes correspondant à une valeur de chaîne spécifiée par valeur. La casse est ignorée.
value (Windows XP et les versions ultérieures de Windows).
Spécifie une valeur de registre, si flags indique qu’une valeur de registre est requise.
Notes
Une directive DelReg peut être spécifiée sous n’importe laquelle des sections indiquées dans la déclaration de syntaxe formelle ci-dessus. Cette directive peut également être spécifiée dans l’une des sections suivantes définies par l’auteur de l’INF :
Une service-install-section ou une section event-log-install référencée par la directive AddService dans une section INF DDInstall.Services.
Une add-interface-section référencée par la directive AddInterface dans une section INF DDInstall.Interfaces.
Une section install-interface-section référencée dans une section INF InterfaceInstall32.
En général, un INF ne doit jamais tenter de supprimer des sous-clés ou des entrées de valeur dans des sous-clés existantes qui ont été configurées par des composants système ou par les fichiers INF d’autres périphériques. Le but d’une del-registry-section est de nettoyer les informations de registre obsolètes d’une installation précédente en utilisant un nouveau fichier INF fourni par le même fournisseur.
Chaque nom de del-registry-section doit être unique pour le fichier INF, mais il peut être référencé par des directives DelReg dans d’autres sections du même INF. Chaque nom de section doit suivre les règles générales de définition des noms de section. Pour plus d'informations sur ces règles, voir Règles générales de syntaxe pour les fichiers INF.
Avec les versions du système d’exploitation antérieures à Windows XP, la seule façon de supprimer une clé est de spécifier ce qui suit :
reg-root-string, subkey
Pour Windows XP et versions ultérieures de Windows, il est également permis de spécifier le registre 32 bits :
reg-root-string, subkey,,0x4000
Exemples
Cet exemple montre comment le fichier INF de l’installateur de classe des ports COM/LPT fourni par le système supprime les informations obsolètes spécifiques à NT sur les ports COM du registre.
[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