Usando arquivos INX para criar arquivos INF
Ao escrever um driver do Windows, em vez de manter vários arquivos INF específicos da versão, você pode criar um único arquivo INX e usar o Microsoft Visual Studio ou a ferramenta Stampinf para gerar arquivos INF específicos da versão quando precisar deles.
Um arquivo INX é como um arquivo INF, mas contém variáveis de cadeia de caracteres que representam informações de versão.
Quando você cria o driver usando o Visual Studio, o processo de build executa o Stampinf para substituir as variáveis de cadeia de caracteres em arquivos INX por cadeias de caracteres de texto que representam uma arquitetura de hardware específica ou uma versão da estrutura. Você também pode executar manualmente o Stampinf, que está localizado no subdiretório bin do WDK.
Para modificar as propriedades do Stampinf no Visual Studio:
- Abra as Páginas de Propriedades do projeto do pacote de driver.
- Clique com o botão direito do mouse no projeto do pacote no Gerenciador de Soluções e selecione Propriedades.
- Nas Páginas de Propriedades do pacote, clique em Propriedades de Configuração e, em seguida, StampInf.
O WDK inclui arquivos INX para todos os drivers de exemplo KMDF e UMDF.
Você pode usar as seguintes variáveis de cadeia de caracteres em um arquivo INX:
$ARCH$
-
Stampinf substitui essa variável por uma cadeia de caracteres específica da arquitetura. Por exemplo, se você estiver usando um ambiente de build x86, a ferramenta substituirá $ARCH$ por "x86". Você pode usar a cadeia de caracteres $ARCH$ onde precisar especificar uma arquitetura específica em um arquivo INF, como em uma seção [**INF Manufacturer**](.. /install/inf-manufacturer-section.md), da seguinte maneira:
[Manufacturer] %StdMfg%=Standard,NT$ARCH$
$KMDFCOINSTALLERVERSION$
-
Se você usar o [Stampinf](.. Opção -*k* da ferramenta /devtest/stampinf.md), Stampinf substitui essa variável por uma cadeia de caracteres que representa uma versão específica do co-instalador KMDF. Você pode usar a variável $KMDFCOINSTALLERVERSION$ ao especificar o co-instalador da estrutura em um arquivo INF, como em uma seção [**INF DDInstall.CoInstallers**](.. /install/inf-ddinstall-coinstallers-section.md), da seguinte maneira:
[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 você definir a propriedade **KMDF Version Number** no Visual Studio (ou usar o [Stampinf](.. Opção -*k* da ferramenta /devtest/stampinf.md), Stampinf substitui essa variável por uma cadeia de caracteres que representa uma versão específica do KMDF. Você pode usar a variável $KMDFVERSION$ ao especificar a versão da estrutura em um arquivo INF, como quando você especifica a diretiva [KmdfLibraryVersion](installing-the-framework-s-co-installer.md), da seguinte maneira:
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 também dá suporte a uma opção -u para substituir variáveis de cadeia de caracteres UMDF em um arquivo INX. Se o pacote de driver incluir drivers baseados em UMDF e drivers baseados em KMDF, você poderá usar as opções -k e -u com um único comando Stampinf e um único arquivo INX.