Directive INF UpdateIniFields
Attention
À partir de la version 22H2 de Windows 11, un package de pilotes utilisant cette directive n’est plus éligible à une signature du Hardware Developer Center.
Les packages de pilotes universels et les pilotes Windows ne peuvent pas utiliser cette directive.
Une directive UpdateIniFields fait référence à une ou plusieurs sections nommées dans lesquelles des modifications fines peuvent être spécifiées à l’intérieur des lignes d’un fichier INI.
[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)
UpdateIniFields=update-inifields-section[,update-inifields-section]...
Chaque section nommée à laquelle une directive UpdateIniFields fait référence a la forme suivante :
[update-inifields-section]
ini-file,ini-section,profile-name[,old-field][,new-field][,flags]
...
Une section update-inifields peut avoir un nombre d’entrées déterminé par l’auteur de l’INF, chaque entrée sur une ligne séparée.
Entries
ini-file
Spécifie le nom d’un fichier INI fourni sur le support source et, implicitement, celui d’un fichier INI à mettre à jour sur l’ordinateur cible. Cette valeur peut être exprimée sous forme de filename ou comme un jeton %strkey% défini dans une section Strings du fichier INF.
ini-section
Spécifie le nom de la section à l’intérieur des fichiers INI donnés qui contient la ligne à modifier.
profile-name
Spécifie le nom de la ligne à modifier à l’intérieur de la section INI donnée. Au moins l’une des entrées old-field et/ou new-field doit être spécifiée pour effectuer une modification de cette ligne.
old-field
Spécifie un champ existant à l’intérieur de la ligne donnée. Si new-field est omis de cette entrée de section, ce champ est supprimé de la ligne donnée. Sinon, la valeur new-field donnée doit remplacer ce champ.
new-field
Spécifie un remplacement pour un old-field donné ou, si old-field est omis, un ajout à la ligne donnée.
flags
Spécifie (dans le bit 0) comment interpréter les old-field et/ou new-field donnés si l’un ou les deux contiennent un astérisque (*), et/ou (dans le bit 1) quel caractère séparateur utiliser lors de l’ajout d’un new-field donné à la ligne donnée, comme suit :
Bit zéro = 0
Interpréter tout astérisque (*) dans les entrées old-field et/ou new-field spécifiées littéralement, et non comme un caractère générique, lors de la recherche d’une correspondance dans la ligne donnée du fichier INI. Il s’agit de la valeur par défaut.
Bit zéro = 1
Interpréter tout astérisque (*) dans les entrées old-field et/ou new-field spécifiées comme un caractère générique lors de la recherche d’une correspondance dans la ligne donnée du fichier INI.
Bit un = 0
Utiliser un caractère espace comme séparateur lors de l’ajout de l’entrée new-field spécifiée à la ligne donnée du fichier INI. Il s’agit de la valeur par défaut.
Bit un = 1
Utiliser une virgule (,) comme séparateur lors de l’ajout de l’entrée new-field spécifiée à la ligne donnée du fichier INI.
Notes
La directive UpdateIniFields est presque jamais spécifiée dans les fichiers INF pour les installations sur Windows, car il n’est pas nécessaire d’avoir des fichiers INI sur leurs supports de distribution. Cependant, la directive UpdateIniFields est valide dans toutes les sections montrées dans la déclaration de syntaxe formelle, ainsi que dans les sections définies par l’auteur du fichier INF référencées par une directive AddInterface ou référencées dans une section InterfaceInstall32.
Chaque nom de section update-inifields doit être unique dans le fichier INF. Chaque nom de section créé par l’auteur de l’INF doit être unique dans le fichier INF et doit suivre les règles générales pour définir des noms de section. Pour plus d'informations sur ces règles, voir Règles générales de syntaxe pour les fichiers INF.
Contrairement à une section référencée par la directive UpdateInis, une section référencée par UpdateIniFields remplace, ajoute ou supprime des parties d’une ligne dans une ligne de fichier INI existante au lieu d’affecter la valeur entière d’une ligne particulière. Au moins l’une des valeurs old-field et/ou new-field doit être spécifiée dans chaque entrée de section.
Tous les commentaires dans une ligne de fichier INI à modifier sont supprimés, car ils pourraient ne plus être applicables après les modifications apportées conformément à cette section. Lors de la recherche de champs dans la ligne des fichiers INI, les espaces, les tabulations et les virgules sont interprétés comme des délimiteurs de champs. Cependant, un espace est utilisé comme séparateur par défaut lorsqu’un nouveau champ est ajouté à une ligne.
L’INF fournit le chemin complet du fichier ini-file donné sur le support de distribution de l’une des manières suivantes :
Dans les fichiers INF fournis par les IHV/OEM, en utilisant les sections SourceDisksNames et SourceDisksFiles de cet INF pour spécifier explicitement le chemin complet de chaque fichier source nommé qui ne se trouve pas dans le répertoire racine (ou les répertoires) sur le support de distribution.
Dans les fichiers INF fournis par le système, en fournissant un ou plusieurs fichiers INF supplémentaires, identifiés dans l’entrée LayoutFile dans la section Version du fichier INF.