Condividi tramite


Uso di file INX per creare file INF

Quando si scrive un driver Windows, anziché mantenere più file INF specifici della versione, è possibile creare un singolo file INX e usare Microsoft Visual Studio o lo strumento Stampinf per generare file INF specifici della versione quando sono necessari.

Un file INX è simile a un file INF, ma contiene variabili stringa che rappresentano le informazioni sulla versione.

Quando si compila il driver usando Visual Studio, il processo di compilazione esegue Stampinf per sostituire le variabili di stringa nei file INX con stringhe di testo che rappresentano un'architettura hardware specifica o una versione del framework. È anche possibile eseguire manualmente Stampinf, che si trova nella sottodirectory bin del WDK.

Per modificare le proprietà di Stampinf all'interno di Visual Studio:

  1. Aprire le pagine delle proprietà per il progetto del pacchetto driver.
  2. Fare clic con il pulsante destro del mouse sul progetto del pacchetto in Esplora soluzioni e selezionare Proprietà.
  3. Nelle pagine delle proprietà per il pacchetto fare clic su Proprietà di configurazione e quindi su StampInf.

WdK include file INX per tutti i driver di esempio KMDF e UMDF.

È possibile usare le variabili di stringa seguenti in un file INX:

$ARCH$

    Stampinf sostituisce questa variabile con una stringa specifica dell'architettura. Ad esempio, se si usa un ambiente di compilazione x86, lo strumento sostituisce $ARCH$ con "x86". È possibile usare la stringa $ARCH$ ovunque sia necessario specificare un'architettura specifica all'interno di un file INF, ad esempio all'interno di una sezione [**INF Manufacturer**](.. /install/inf-manufacturer-section.md), come segue:
    [Manufacturer]
    %StdMfg%=Standard,NT$ARCH$
    

$KMDFCOINSTALLERVERSION$

    Se si usa [Stampinf](.. /devtest/stampinf.md) dell'opzione -*k* dello strumento, Stampinf sostituisce questa variabile con una stringa che rappresenta una versione specifica del co-installer kmDF. È possibile usare la variabile $KMDFCOINSTALLERVERSION$ quando si specifica il co-installer del framework all'interno di un file INF, ad esempio all'interno di una sezione [**INF DDInstall.CoInstall.CoInstallers**](.. /install/inf-ddinstall-coinstallers-section.md), come indicato di seguito:
    [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$

    Se si imposta la proprietà **KMDF Version Number** in Visual Studio (o usare [Stampinf](.. L'opzione -*k* dello strumento /devtest/stampinf.md) sostituisce questa variabile con una stringa che rappresenta una versione specifica di KMDF. È possibile usare la variabile $KMDFVERSION$ quando si specifica la versione del framework all'interno di un file INF, ad esempio quando si specifica la direttiva [KmdfLibraryVersion](install-the-framework-co-installer.md), come indicato di seguito:
    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 supporta anche un'opzione -u per sostituire le variabili di stringa UMDF in un file INX. Se il pacchetto driver include sia driver basati su UMDF che driver basati su KMDF, è possibile usare le opzioni -k e -u con un singolo comando Stampinf e un singolo file INX.