Directive INF UpdateInis
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 UpdateInis fait référence à une ou plusieurs sections nommées, spécifiant un fichier INI à partir duquel une section ou une ligne particulière doit être lue et appliquée à un fichier INI existant du même nom sur l’ordinateur cible. Il est possible de spécifier des modifications ligne par ligne à partir de et vers ces fichiers INI dans la section section update-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)
UpdateInis=update-ini-section[,update-ini-section]...
Cette directive est presque jamais spécifiée dans les fichiers INF pour une installation sur Windows, en raison de l’absence de nécessité d’utiliser des fichiers INI. Cependant, la directive UpdateInis est valide dans n’importe laquelle des sections montrées dans l’énoncé de syntaxe formelle, ainsi que dans les sections définies par l’auteur de l’INF référencées par une directive AddInterface ou référencées dans une section InterfaceInstall32.
Chaque section nommée à laquelle fait référence une directive UpdateInis a la forme suivante :
[update-ini-section]
ini-file,ini-section[,old-ini-entry][,new-ini-entry][,flags]
...
Une section update-ini peut contenir un nombre quelconque d’entrées déterminé par l’auteur de l’INF, chacune sur une ligne distincte.
Entries
ini-file
Spécifie le nom d’un fichier INI fourni sur le support source et, implicitement, celui du 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 dans le fichier INI donné. Si les deux valeurs suivantes sont spécifiées, cette section contient une entrée à modifier. Si une ancienne old-ini-entry est omise mais qu’une new-ini-entry est fournie, la nouvelle entrée sera ajoutée lors de la lecture de cette section.
old-ini-entry
Cette valeur facultative spécifie le nom d’une entrée dans la ini-section donnée, généralement exprimée sous la forme suivante :
"key=value"
L’une ou l’autre des valeurs clé et value peut être exprimée sous forme de jetons %strkey% définis dans une section Strings du fichier INF. L’astérisque (*) peut être spécifié comme caractère générique pour la key ou la value.
new-ini-entry
Cette valeur facultative spécifie soit une modification de la old-ini-entry, soit l’ajout d’une nouvelle entrée. Cette valeur peut être exprimée de la même manière que old-ini-entry.
flags
Cette valeur facultative contrôle l’interprétation de la old-ini-entry et/ou de la new-ini-entry. L’entrée flags peut être l’une des valeurs numériques suivantes :
Valeur | Signification |
---|---|
0 | C’est la valeur par défaut de l’entrée flags si elle est omise. Si la clé old-ini-entry est présente dans les fichiers INI, remplacez cette key=value par la new-ini-entry. donnée. Seules les clés dans les fichiers INI doivent correspondre. La valeur correspondante de chaque clé est ignorée. Pour ajouter une new-ini-entry au fichier INI de destination de manière inconditionnelle, omettez la valeur old-ini-entry de l’entrée dans la section update-ini du fichier INF. Pour supprimer une old-ini-entry du fichier INI de destination de manière inconditionnelle, omettez la valeur new-ini-entry. |
1 | Si la old-ini-entry (key=value) donnée existe dans les fichiers INI, remplacez-la dans le fichier INI de destination par la new-ini-entry. La clé et la valeur de la old-ini-entry spécifiée doivent correspondre à celles des fichiers INI pour effectuer un tel remplacement, et pas seulement leurs clés comme dans la valeur flags précédente. |
2 | Si la clé spécifiée pour la old-ini-entry ne peut être trouvée dans le fichier INI de destination, ne faites rien. Sinon, les modifications apportées dépendent des correspondances trouvées dans les fichiers INI pour les clés de old-ini-entry et new-ini-entry, comme suit : (1) Si la clé de la old-ini-entry existe dans les fichiers INI mais que la clé de la new-ini-entry existe également, remplacez la old-ini-entry par la new-ini-entry dans le fichier INI de destination, puis supprimez la new-ini-entry superflue de ce fichier INI. (2) Si la clé de la old-ini-entry existe dans les fichiers INI mais que la clé de la new-ini-entry n’existe pas, remplacez la old-ini-entry clé par celle de la new-ini-entry dans le fichier INI de destination mais laissez la valeur de la old-ini-entry inchangée. |
3 | Si la clé et la valeur spécifiées pour old-ini-entry ne peuvent être trouvées dans les fichiers INI, ne faites rien. Sinon, les modifications apportées dépendent des correspondances trouvées dans les fichiers INI pour les clés et les valeurs de old-ini-entry et new-ini-entry, comme suit : (1) Si la clé=value de la old-ini-entry existe dans les fichiers INI mais que la clé=value de la new-ini-entry existe également, remplacez la old-ini-entry par la new-ini-entry dans le fichier INI de destination, puis supprimez la new-ini-entry superflue de ce fichier INI. (2) Si la clé=value de la old-ini-entry existe dans les fichiers INI mais que la clé de la new-ini-entry n’existe pas, remplacez la old-ini-entry par celle de la new-ini-entry dans le fichier INI de destination mais laissez la valeur de la old-ini-entry inchangée. |
Notes
Un nom donné de section update-ini doit être unique dans le fichier INF et doit suivre les règles générales pour définir les noms de section. Pour plus d'informations sur ces règles, voir Règles générales de syntaxe pour les fichiers INF.
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.
Tout filename spécifié dans une old-ini-entry ou une new-ini-entry doit désigner le répertoire de destination qui contient ce fichier. Un tel chemin de répertoire de destination pour un filename dans une entrée update-ini-section doit être spécifié comme un dirid. Pour obtenir des listes des valeurs possibles de dirid, veuillez consulter la section Utilisation des Dirids.