Share via


Usar archivos INX para crear archivos INF

Al escribir un controlador de Windows, en lugar de mantener varios archivos INF específicos de la versión, puede crear un único archivo INX y usar Microsoft Visual Studio o la herramienta Stampinf para generar archivos INF específicos de la versión cuando los necesite.

Un archivo INX es como un archivo INF, pero contiene variables de cadena que representan información de versión.

Al compilar el controlador mediante Visual Studio, el proceso de compilación ejecuta Stampinf para reemplazar las variables de cadena de los archivos INX por cadenas de texto que representan una arquitectura de hardware específica o una versión de marco. También puede ejecutar manualmente Stampinf, que se encuentra en el subdirectorio bin del WDK.

Para modificar las propiedades stampinf en Visual Studio:

  1. Abra las páginas de propiedades del proyecto de paquete de controladores.
  2. Haga clic con el botón derecho en el proyecto de paquete en Explorador de soluciones y seleccione Propiedades.
  3. En las páginas de propiedades del paquete, haga clic en Propiedades de configuración y, a continuación, en StampInf.

El WDK incluye archivos INX para todos los controladores de ejemplo KMDF y UMDF.

Puede usar las siguientes variables de cadena en un archivo INX:

$ARCH$

    Stampinf reemplaza esta variable por una cadena específica de la arquitectura. Por ejemplo, si usa un entorno de compilación x86, la herramienta reemplaza $ARCH$ por "x86". Puede usar la cadena $ARCH$ siempre que necesite especificar una arquitectura específica dentro de un archivo INF, como en una sección [**FABRICANTE DE INF**](.. /install/inf-manufacturer-section.md), como se indica a continuación:
    [Manufacturer]
    %StdMfg%=Standard,NT$ARCH$
    

$KMDFCOINSTALLERVERSION$

    Si usa [Stampinf](.. La opción -*k* de la herramienta /devtest/stampinf.md), Stampinf reemplaza esta variable por una cadena que representa una versión específica del co-instalador de KMDF. Puede usar la variable $KMDFCOINSTALLERVERSION$ al especificar el co-instalador del marco dentro de un archivo INF, como en una sección [**INF DDInstall.CoInstallers**](.. /install/inf-ddinstall-coinstallers-section.md), como se indica a continuación:
    [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 establece la propiedad **Número de versión de KMDF** en Visual Studio (o usa [Stampinf](.. /devtest/stampinf.md) opción -*k* de la herramienta), Stampinf reemplaza esta variable por una cadena que representa una versión específica de KMDF. Puede usar la variable $KMDFVERSION$ al especificar la versión del marco en un archivo INF, como cuando especifique la directiva [KmdfLibraryVersion](installing-the-framework-s-co-installer.md), como se indica a continuación:
    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 también admite una opción -u para reemplazar variables de cadena UMDF en un archivo INX. Si el paquete de controladores incluye controladores basados en UMDF y controladores basados en KMDF, puede usar las opciones -k y -u con un único comando Stampinf y un único archivo INX.