Partager via


Utilisation de fichiers INX pour créer des fichiers INF

Lorsque vous écrivez un pilote Windows, au lieu de gérer plusieurs fichiers INF spécifiques à la version, vous pouvez créer un seul fichier INX et utiliser Microsoft Visual Studio ou l’outil Stampinf pour générer des fichiers INF spécifiques à la version lorsque vous en avez besoin.

Un fichier INX est semblable à un fichier INF, mais il contient des variables de chaîne qui représentent des informations de version.

Lorsque vous générez votre pilote à l’aide de Visual Studio, le processus de génération exécute Stampinf pour remplacer les variables de chaîne dans les fichiers INX par des chaînes de texte qui représentent une architecture matérielle spécifique ou une version de framework. Vous pouvez également exécuter manuellement Stampinf, qui se trouve dans le sous-répertoire bin du WDK.

Pour modifier les propriétés Stampinf dans Visual Studio :

  1. Ouvrez les pages de propriétés de votre projet de package de pilotes.
  2. Cliquez avec le bouton droit sur le projet de package dans Explorateur de solutions, puis sélectionnez Propriétés.
  3. Dans les pages de propriétés du package, cliquez sur Propriétés de configuration, puis sur StampInf.

Le WDK inclut des fichiers INX pour tous les exemples de pilotes KMDF et UMDF.

Vous pouvez utiliser les variables de chaîne suivantes dans un fichier INX :

$ARCH$

    Stampinf remplace cette variable par une chaîne spécifique à l’architecture. Par exemple, si vous utilisez un environnement de génération x86, l’outil remplace $ARCH$ par « x86 ». Vous pouvez utiliser la chaîne $ARCH$ partout où vous avez besoin de spécifier une architecture spécifique dans un fichier INF, par exemple dans une [**section Fabricant INF**](.. /install/inf-manufacturer-section.md), comme suit :
    [Manufacturer]
    %StdMfg%=Standard,NT$ARCH$
    

$KMDFCOINSTALLERVERSION$

    Si vous utilisez [Stampinf](.. Option -*k* de l’outil /devtest/stampinf.md), Stampinf remplace cette variable par une chaîne qui représente une version spécifique du co-programme d’installation KMDF. Vous pouvez utiliser la variable $KMDFCOINSTALLERVERSION$ lorsque vous spécifiez le co-programme d’installation de l’infrastructure dans un fichier INF, par exemple dans une section [**INF DDInstall.CoInstallers**](.. /install/inf-ddinstall-coinstallers-section.md), comme suit :
    [ECHO_Device.NT.CoInstallers]
    AddReg=ECHO_Device_CoInstaller_AddReg
    CopyFiles=ECHO_Device_CoInstaller_CopyFiles
    
    [ECHO_Device_CoInstaller_AddReg]
    HKR,,CoInstallers32,0x00010000, "WdfCoInstaller$KMDFCOINSTALLERVERSION$.dll,WdfCoInstaller"
    
    [ECHO_Device_CoInstaller_CopyFiles]
    WdfCoInstaller$KMDFCOINSTALLERVERSION$.dll
    

$KMDFVERSION$

    Si vous définissez la propriété **Numéro de version KMDF** dans Visual Studio (ou utilisez [Stampinf](.. Option -*k* de l’outil /devtest/stampinf.md), Stampinf remplace cette variable par une chaîne qui représente une version spécifique de KMDF. Vous pouvez utiliser la variable $KMDFVERSION$ lorsque vous spécifiez la version de l’infrastructure dans un fichier INF, par exemple lorsque vous spécifiez la directive [KmdfLibraryVersion](installing-the-framework-s-co-installer.md), comme suit :
    KmdfLibraryVersion = $KMDFVERSION$
    

$UMDFCOINSTALLERVERSION$

    [SourceDisksFiles] WudfUpdate_$UMDFCOINSTALLERVERSION$.dll=1

    [CoInstallers_CopyFiles] WudfUpdate_$UMDFCOINSTALLERVERSION$.dll

    [CoInstallers_AddReg] HKR,,CoInstallers32,0x00010000,"WUDFUpdate_$UMDFCOINSTALLERVERSION$.dll"

$UMDFVERSION$

    [UMDFYourDriver_Install]
    UmdfLibraryVersion=$UMDFVERSION$
    

Stampinf prend également en charge une option -u pour remplacer les variables de chaîne UMDF dans un fichier INX. Si votre package de pilotes inclut à la fois des pilotes basés sur UMDF et des pilotes basés sur KMDF, vous pouvez utiliser les options -k et -u avec une seule commande Stampinf et un seul fichier INX.