UMDF ベースのドライバーでの INX ファイルの使用
ドライバーの INF ファイルで、UMDF の現在のバージョンなどのプラットフォーム固有の情報を指定するには、INX ファイルと、WDK に含まれている Stampinf ツールを、makefile.inc ファイルと共に使用します。
"INX ファイル" は、バージョン情報を表す文字列変数を含む INF ファイルです。**ビルド ユーティリティおよび Stampinf ツールは、INX ファイルの文字列変数を、特定のハードウェア アーキテクチャまたはフレームワークのバージョンを表すテキスト文字列に置換します。
ドライバーの INX ファイルを作成する場合、バージョン固有の INF ファイルを複数保持する必要はありません。代わりに、1 つの INX ファイルを作成し、Stampinf を使用して、必要なときにバージョン固有の INF ファイルを生成できます。
WDK には、すべての UMDF サンプル ドライバー用の INX ファイルが含まれています。
たとえば、INX ファイルに次のコードが含まれていたとします。
[Manufacturer]
%MSFTUMDF%=Microsoft,NT$ARCH$
この場合、ビルド ユーティリティで INF ファイルを生成すると、次のように、x86 ベースのハードウェア プラットフォームの場合は NT$ARCH$ が NTx86 になります。
[Manufacturer]
%MSFTUMDF%=Microsoft,NTx86
ドライバーの INX ファイルでは、次の例のように、UMDF ライブラリのバージョンと UMDF 共同インストーラーのバージョンを指定する必要があります。
[SourceDisksFiles]
WudfUpdate_$UMDFCOINSTALLERVERSION$.dll=1
[UMDFYourDriver_Install]
UmdfLibraryVersion=$UMDFVERSION$
[CoInstallers_CopyFiles]
WudfUpdate_$UMDFCOINSTALLERVERSION$.dll
[CoInstallers_AddReg]
HKR,,CoInstallers32,0x00010000,"WUDFUpdate_$UMDFCOINSTALLERVERSION$.dll"
Stampinf によって作成される INF ファイルで UMDF と KMDF の現在のバージョンの情報を指定するには、ドライバーの makefile.inc ファイルに次のコードを追加する必要があります。
.SUFFIXES: .inx
STAMP=stampinf
.inx{$(OBJ_PATH)\$(O)}.inf:
copy $(@B).inx $@
$(STAMP) -f $@ -a $(_BUILDARCH) -k $(KMDF_VERSION_MAJOR).$(KMDF_VERSION_MINOR) -u $(UMDF_MAJOR_VERSION).$(UMDF_MINOR_VERSION).0
Stampinf.exe ファイルと makefile.inc ファイルの使用方法の詳細については、UMDF を使用する WDK サンプル ドライバーを参照してください。これらのサンプル ドライバーは、WDK の \src\umdfサブディレクトリにあります。