INF Version セクション

慣例により、INF ファイルの最初に [バージョン] セクションが表示されます。 すべての INF ファイルには、このセクションが必要です。

[Version]
 
Signature="signature-name"
[Class=class-name]
[ClassGuid={nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn}]
[Provider=%INF-creator%]
[ExtensionId={xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}]
[LayoutFile=filename.inf [,filename.inf]... ]  (Windows 2000 and Windows XP)
[CatalogFile=filename.cat]
[CatalogFile.nt=unique-filename.cat]
[CatalogFile.ntx86=unique-filename.cat]
[CatalogFile.ntia64=unique-filename.cat]  (Windows XP and later versions of Windows)
[CatalogFile.ntamd64=unique-filename.cat]  (Windows XP and later versions of Windows)
[CatalogFile.ntarm=unique-filename.cat]  (Windows 8 and later versions of Windows)
[CatalogFile.ntarm64=unique-filename.cat]  (Windows 10 version 1709 and later versions of Windows)

DriverVer=mm/dd/yyyy,w.x.y.z
[PnpLockDown=0|1] (Windows Vista and later versions of Windows)
[DriverPackageDisplayName=%driver-package-description%]
[DriverPackageType=PackageType]

エントリ

Signature="signature-name"
$Windows NT$ または $Chicago$である必要があります。. これは、この INF が有効なオペレーティング システムを示します。 これらの署名には次の意味があります。

シグネチャの値 意味
$Windows NT$ すべての Windows オペレーティング システム
$Chicago$ すべての Windows オペレーティング システム

外側のドル記号 ($) は必須ですが、これらの文字列では大文字と小文字が区別されません。 シグネチャ名 にこれらの文字列値がない場合、ファイルは有効な INF として受け入れまれません。

一般に、Windows はこれらの署名値を区別しません。 そのうちの 1 つを指定する必要がありますが、どちらを指定しても問題ありません。 INF ファイルを読み取るユーザーが目的のオペレーティング システムを判断できるように、適切な値を指定する必要があります。

一部のクラス インストーラーでは、シグネチャ値の指定方法に関する追加の要件が設定されています。 このような要件が存在する場合は、この Windows Driver Kit (WDK) のデバイスの種類固有のセクションで説明します。

INFは、 signature-name$Windows NT$$Chicago$ であるかに関係なく、 DDInstall セクションにシステム定義の拡張を追加することで、OS固有のインストール情報を提供する必要があります。 (これらの拡張機能については、 複数のプラットフォームとオペレーティングシステム用のINFファイルを作成する を参照してください。)

Class=class-name
任意の標準の種類のデバイスの場合、この INF ファイルを 使用してインストールされるデバイスの種類の デバイス セットアップ クラス の名前を指定します。 通常、この名前は、 Devguid.h にリストされている NetDisplay などのシステム定義クラス名の 1 つです。 詳細については、「システム提供のデバイス セットアップ クラス」を参照してください 。

INF で クラスを指定する場合は、 ClassGUID エントリに対応するシステム定義 GUID 値も指定する必要があります。 定義済みのデバイス セットアップ クラスのデバイスに一致する GUID 値を指定すると、INF 検索を最適化するためにシステム セットアップ コードが役立つので、デバイスとそのドライバーをより高速にインストールできます。

INF がデバイスの新しいセットアップ クラスをシステムに追加する場合は、 Devguid.h のシステム提供クラスとは異なる、大文字と小文字を区別しない一意の クラス名 の値を指定する必要があります。 クラス名 の文字列の長さは 32 文字以下にする必要があります。 INF では、 ClassGUID エントリに新しく生成された GUID 値を指定する必要があります。 INF ClassInstall32 セクションも参照してください。

このエントリは、定義済みのデバイス セットアップ クラスの下に新しいデバイス ドライバーも新しいデバイス セットアップ クラスもインストールしない INF とは無関係です。

Note

このエントリは、プラグ アンド プレイ (PnP) マネージャーを使用してインストールされるデバイス ドライバーに必要です。

ClassGuid={nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn}
デバイス セットアップ クラス GUIDを指定します。 GUID 値は、次に示すように書式設定されます。各 n は 16 進数です。

この GUID 値は、この INF ファイルからインストールされているデバイスに割り当てるデバイス セットアップ クラスを指定します。 このクラス固有の GUID 値は、デバイスの種類とクラス固有のプロパティ ページ プロバイダー (存在する場合) のデバイス クラス インストーラーも識別します。

新 しい デバイス セットアップ クラスの場合、INF は新しく生成された ClassGUID 値を指定する必要があります。 GUID の作成方法の詳細については、「ドライバーでの GUID の使用」を参照してください。 「デバイス セットアップ クラス」も参照してください。

Note

このエントリは、PnP マネージャーを使用してインストールされるデバイス ドライバーに必要です。

ExtensionId={xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
拡張機能 INFの作成時に拡張 ID GUID を 指定します。 GUID 値は、次に示すように書式設定されます。各 x は 16 進数です。

拡張 INF の初期バージョンを作成する場合、INF は新しく生成された ExtensionId 値を 指定する必要があります。 ただし、既存の拡張 INF を更新する場合は、拡張機能 INFメイン の複数の関連バージョンが、同じデバイス インスタンスに同時にインストールされる可能性のある独立した拡張機能 INF として扱われるのではなく、相互にバージョン管理されるように、 ExtensionId を再び同じにする必要があります。 拡張INFを作成する方法の詳細については、「拡張INFファイルの使用」を参照してください 。

Note

この項目は、 Class = ExtensionClassGuid = {e2f84ce7-8efa-411c-aa69-97454ca4cb57}を指定して拡張INFを作成する場合にのみ必要です。

ClassVer=major.minor
Printer などのデバイス クラスで明示的に要求されない限り、システム使用のために予約されています。 たとえば、「V4 Driver INF」を参照してください。

Provider=%INF-creator%
INF ファイルのプロバイダーを識別します。 通常、これは %OrganizationName% トークンとして指定され、INFファイルの Strings セクションで展開される。 プロバイダー名の最大長 (文字数) はLINE_LEN。

たとえば、システムで提供される INF ファイルでは、通常、 INF 作成者%Msft% として指定し、 文字列 セクションで %Msft% = "Microsoft" を定義します。

Note

このエントリは、PnP マネージャーを使用してインストールされるデバイス ドライバーに必要です。

CatalogFile=filename.cat
カタログ (.cat) ファイルをドライバー パッケージの配布メディアに含めます。

デジタル署名のために ドライバー パッケージ が Microsoft に送信されると、WHQL は、WHQL がテストし、パッケージにデジタル署名を割り当てた後、ドライバー パッケージの カタログ ファイル を提供します。 IHV または OEM ドライバー パッケージのテストと署名の詳細については、「WHQL リリース署名」を参照してください。 カタログ ファイルは、INF の SourceDisksFiles セクションまたは CopyFiles ディレクティブには表示されません。 Windows では、カタログ ファイルが INF ファイルと同じ場所にあることを前提としています。

オペレーティング システムは、システム提供のすべての xxx.cat ファイルに対してこのような INF の署名を検証するため、システム提供の INF ファイルには CatalogFile= エントリがありません。

CatalogFile.nt=unique-filename.cat |
CatalogFile.ntx86=unique-filename.cat |
CatalogFile.ntia64=unique-filename.cat |
CatalogFile.ntamd64=unique-filename.cat
CatalogFile.ntarm=unique-filename.cat
CatalogFile.ntarm64=unique-filename.cat

別の INF ライターによって決定された一意のファイル名を指定します。カタログ ファイルの.cat 拡張子。 これらの省略可能なエントリを省略すると、WDM デバイス/ドライバーのインストールを検証するために特定 の CatalogFile=filename.cat が使用されます。

修飾された CatalogFile の場合。xxx= エントリは、INF の バージョン セクションに非コーディング CatalogFile= エントリと共に存在します。非装飾エントリは、修飾されたエントリが指定されていないプラットフォームでデバイスのインストール、ドライバーのインストール、またはその両方を検証するための filename.cat を識別するものと見なされます。

CatalogFile=CatalogFile.xxx= エントリを持つクロス プラットフォーム デバイス ドライバー INF ファイルは、そのような .cat ファイルごとに IHV/OEM が決定した一意の名前を指定する必要があります。

システム定義の .nt, .ntx86, .ntia64, .ntamd64, .ntarm, および .ntarm64 の拡張機能の使用方法の詳細については、「複数のプラットフォームとオペレーティング システム用の INF ファイルの作成」を参照してください。

Note

サポートされているすべてのプラットフォームで同じ .cat ファイルを使用できるため、このエントリの使用は必須でも推奨もされません。 ただし、ドライバー パッケージのプラットフォーム固有の .cat ファイルを作成する場合は、このエントリを使用する必要があります。

DriverVer=mm/dd/yyyy,w.x.y.z
このエントリは、この INF ファイルによってインストールされるドライバーのバージョン情報を指定します。 Windows 2000 以降では、このエントリが必要です。

このエントリを指定する方法については、 INF DriverVerディレクティブを参照してください。

PnpLockDown=0|1
プラグ アンド プレイ (PnP) によって、アプリケーションが ドライバー パッケージ の INF ファイルで指定したファイルを直接変更できないようにするかどうかを指定します。 PnpLockDown ディレクティブが 1 に設定されている場合、PnP はアプリケーションが INF CopyFiles ディレクティブによってコピーされたファイルを直接変更できないようにします。 それ以外の場合、ディレクティブが INF ファイルに含まれていないか、ディレクティブの値が 0 に設定されている場合、管理者特権を持つアプリケーションはこれらのファイルを直接変更できます。 この方法で保護されているドライバー ファイルは、 サード パーティの保護されたドライバー ファイルと呼ばれます。

PnP ドライバーのインストールの整合性を確保するために、アプリケーションは、ドライバー パッケージ INF ファイルによってコピーされるドライバー ファイルを直接変更しないでください。 アプリケーションでは、PnP ドライバーを更新するために Windows によって提供されるデバイス インストール メカニズムのみを使用する必要があります。

Windows Vista 以降では、アプリケーションがドライバー ファイルを直接変更できないように、ドライバー パッケージで PnpLockDown を 1 に設定する必要があります。 ただし、ドライバー パッケージをアンインストールする既存のアプリケーションの中には、ドライバー ファイルを直接削除するものもあります。 これらのアプリケーションとの互換性メイン維持するには、このようなドライバー パッケージの PnpLockDown ディレクティブを 0 に設定する必要があります。

Note

Windows Vista 以降のバージョンの Windows の PnP では、ドライバーをインストールするために INF ファイルに PnpLockDown ディレクティブが含まれている必要はありませんが、将来のバージョンの Windows の PnP では、PnP ドライバー パッケージ の INF ファイルに PnpLockDown ディレクティブが含まれている必要がある場合があります。

DriverPackageDisplayName=%driver-package-description%
非推奨。 以前は、ドライバー インストール フレームワーク (DIFx) で使用されていました。 DIFx の非推奨の詳細については、 DIFx ガイドラインを参照してください。

DriverPackageType=PackageType
非推奨。 以前は、ドライバー インストール フレームワーク (DIFx) で使用されていました。 DIFx の非推奨の詳細については、 DIFx ガイドラインを参照してください。

解説

ドライバー パッケージ が Microsoft Windows Hardware Quality Lab (WHQL) テストに合格すると、WHQL は .cat カタログ ファイルを IHV または OEM に返します。 各 .cat ファイルには、ドライバー パッケージのデジタル暗号化された署名が含まれています。 IHV または OEM は、INF バージョン セクションでこれらの .cat ファイルを一覧表示する必要があり、INF ファイルと同じ場所にある配布メディア上のファイルを指定する必要があります。 .cat ファイルは圧縮されていない必要があります。

Note

INF Version セクションに CatalogFile または CatalogFile.ntxxx エントリが少なくとも 1 つ含まれていない場合、ドライバーは符号なしとして扱われ、 DriverVer ディレクティブに記載されている日付は Windows では表示されません。

詳細については、 ドライバー署名を参照。

次の例は、単純なドライバー パッケージ INF の一般的な Version セクションを示し、その後に、このサンプル バージョン セクションで指定されたエントリによって暗黙的に指定された必須の SourceDisksNames セクションと SourceDisksFiles セクションを示しています。

[Version]
Signature="$Windows NT$"
Class=SCSIAdapter
ClassGUID={4D36E97B-E325-11CE-BFC1-08002BE10318}
Provider=%INF_Provider%
CatalogFile=example.cat
DriverVer=01/29/2010,1.2.3.4
PnpLockdown=1

[SourceDisksNames]
;
; diskid = description[, [tagfile] [, <unused>, subdir]]
;
1 = %Disk_Description%,,,\WinNT

[SourceDisksFiles.x86]
;
; filename_on_source = diskID[, [subdir][, size]]
;
exampleDriver.sys = 1,\x86

; ...

[Strings]
INF_Provider="Contoso"
Disk_Description = "Contoso Drivers Disk"
; ...

関連項目

DDInstall

SourceDisksNames

SourceDisksFiles

文字列