INX ファイルを使用した INF ファイルの作成

Windows ドライバーを作成するときに、複数のバージョン固有の INF ファイルをメイン代わりに、1 つの INX ファイルを作成し、Microsoft Visual Studio または Stampinf ツールを使用して、必要に応じてバージョン固有の INF ファイルを生成できます。

INXファイルは INFファイルに似ていますが、バージョン情報を表す文字列変数が含まれています。

Visual Studio を使用してドライバーをビルドすると、ビルド プロセスによって Stampinf が実行され、INX ファイル内の文字列変数が、特定のハードウェア アーキテクチャまたはフレームワーク バージョンを表すテキスト文字列に置き換えられます。 WDK の bin サブディレクトリにある Stampinf を手動で実行することもできます。

Visual Studio 内で Stampinf プロパティを変更するには:

  1. ドライバー パッケージ プロジェクトのプロパティ ページを開きます。
  2. ソリューション エクスプローラーで、パッケージ プロジェクトを右クリックし、[プロパティ] を選択します。
  3. パッケージの [プロパティ ページ] で、[構成プロパティ] をクリックし、[StampInf] をクリックします 。 

WDK には、すべての KMDF および UMDF サンプル ドライバーの INX ファイルが含まれています。

INX ファイルでは、次の文字列変数を使用できます。

$ARCH$

    Stampinf は、この変数をアーキテクチャ固有の文字列に置き換えます。 たとえば、x86 ビルド環境を使用している場合、ツールは $ARCH$ を「x86」に置き換えます。 以下のように、[**INF Manufacturer section**](../install/inf-manufacturer-section.md)内など、INF ファイル内で特定のアーキテクチャを指定する必要がある場合は、どこでも $ARCH$ 文字列を使用できます。
    [Manufacturer]
    %StdMfg%=Standard,NT$ARCH$
    

$KMDFCOINSTALLERVERSION$

    [Stampinf](../devtest/stampinf.md) ツールの -*k* オプション、Stampinf は、この変数を、KMDF 共同インストーラーの特定のバージョンを表す文字列に置き換えます。 KMDFCOINSTALLERVERSION$ 変数は、[**INF DDInstall.CoInstallers section**](../install/inf-ddinstall-coInstallers-section.md) などの INF ファイル内でフレームワークのコイン ストーラーを指定する場合に、次のように使用できます。
    [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$

    Visual Studio で **KMDF バージョン番号** プロパティを設定した場合 (または[Stampinf](../devtest/stampinf.md) ツールの -*k* オプション)、Stampinf は、この変数を、特定のバージョンの KMDF を表す文字列に置き換えます。 次のように、[KmdfLibraryVersion](installing-the-framework-s-co-installer.md) ディレクティブを指定するときなど、INF ファイル内でフレームワークのバージョンを指定するときは、次のように $KMDFVERSION$ 変数を使用できます。
    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 では、INX ファイル内の UMDF 文字列変数を置き換える -u オプションもサポートされています。 ドライバー パッケージに UMDF ベースのドライバーと KMDF ベースのドライバーの両方が含まれている場合は、1 つの Stampinf コマンドと 1 つの INX ファイルで -k オプションと -u オプションを使用できます。