次の方法で共有


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サブディレクトリにあります。