INFDDInstall セクション
各モデルごとの DDInstall セクションには、省略可能な DriverVer ディレクティブと、INF ファイル内の追加の名前付きセクションを参照する 1 つ以上のディレクティブが含まれています。ここでは、最も頻繁に指定された INF ディレクティブである CopyFiles と AddReg を最初に示します。
これらのディレクティブによって参照されるセクションには、ドライバー ファイルをインストールし、デバイス固有の情報やドライバー固有の情報をレジストリに書き込むための手順が含まれています。
[install-section-name] |
[install-section-name.nt] |
[install-section-name.ntx86] |
[install-section-name.ntia64] | (Windows XP and later versions of Windows)
[install-section-name.ntamd64] | (Windows XP and later versions of Windows)
[install-section-name.ntarm] | (Windows 8 and later versions of Windows)
[install-section-name.ntarm64] (Windows 10 version 1709 and later versions of Windows)
[DriverVer=mm/dd/yyyy[,x.y.v.z]]
[CopyFiles=@filename | file-list-section[,file-list-section] ...]
[CopyINF=filename1.inf[,filename2.inf]...] (Windows XP and later versions of Windows)
[AddReg=add-registry-section[,add-registry-section]...]
[AddProperty=add-property-section[,add-property-section]...] (Windows Vista and later versions of Windows)
[Include=filename1.inf[,filename2.inf]...]
[Needs=inf-section-name[,inf-section-name]...]
[Delfiles=file-list-section[,file-list-section]...]
[Renfiles=file-list-section[,file-list-section]...]
[DelReg=del-registry-section[,del-registry-section]...]
[DelProperty=del-property-section[,del-property-section]...] (Windows Vista and later versions of Windows)
[FeatureScore=featurescore]... (Windows Vista and later versions of Windows)
[BitReg=bit-registry-section[,bit-registry-section]...]
[LogConfig=log-config-section[,log-config-section]...]
[ProfileItems=profile-items-section[,profile-items-section]...] (Windows 2000 and later versions of Windows)
[UpdateInis=update-ini-section[,update-ini-section]...]
[UpdateIniFields=update-inifields-section[,update-inifields-section]...]
[Ini2Reg=ini-to-registry-section[,ini-to-registry-section]...]
[RegisterDlls=register-dll-section[,register-dll-section]...]
[UnregisterDlls=unregister-dll-section[,unregister-dll-section]...]
[ExcludeID=device-identification-string[,device-identification-string]...]... ((Windows XP and later versions of Windows)
[Reboot]
エントリ
ユニバーサル INFでは、すべての有効なエントリがサポートされているわけではありません。 次に、ユニバーサル INF で有効なディレクティブと有効でないディレクティブを示します。
ユニバーサル INF でサポートされる
DriverVer=mm/dd/yyyy[,x.y.v.z]
この省略可能なエントリは、 ドライバー パッケージのバージョン情報を指定します。
このエントリを指定する方法については、 INF DriverVerディレクティブを参照してください。
CopyFiles=@filename | file-list-section[,file-list-section] ...
このディレクティブは、ソース メディアからコピー先にコピーする名前付きファイルを 1 つ指定するか、またはソース メディア上のデバイス関連ファイルを転送先に指定する 1 つ以上の INF ライター定義セクションを参照します。 CopyFiles ディレクティブは省略可能ですが、ほとんどの DDInstall セクションに存在します。
INF の DestinationDirs セクションの DefaultDestDir エントリは、コピーする 1 つのファイルの宛先を指定します。 SourceDisksNames セクションと SourceDisksFiles セクション、またはこの INF の バージョン セクションの LayoutFile エントリで指定された追加の INF は、ドライバー ファイルの配布メディア上の場所を提供します。
詳しくは、「INF CopyFiles ディレクティブ」をご覧ください。
CopyINF=filename1.inf[,filename2.inf]...
(Windows XP 以降)このディレクティブにより、指定した INF ファイルがターゲット システムにコピーされます。
詳しくは、「INF CopyINF ディレクティブ」をご覧ください。
AddReg=add-registry-section[,add-registry-section]...
このディレクティブは、新しいサブキー (場合によっては初期値エントリを含む) がレジストリに書き込まれるか、既存のキーの値エントリが変更されるように指定されている、1 つ以上の INF ライター定義セクションを参照します。
このような追加レジストリ セクションで指定された HKR 仕様は、インストールされているデバイスの "ソフトウェア キー" レジストリ パスを指定します。
詳しくは、「INF AddReg ディレクティブ」をご覧ください。
AddProperty=add-property-section[,add-property-section]...
(Windows Vista 以降)デバイス インスタンスに設定されている デバイス プロパティ を変更する 1 つ以上の INF ファイル セクションを参照します。 INF AddProperty ディレクティブ は、Windows Vista 以降のバージョンの Windows オペレーティング システムに新しいデバイス インスタンス プロパティを設定する場合にのみ使用する必要があります。
Windows Server 2003、Windows XP、または Windows 2000 で以前に導入され、対応するレジストリ エントリ値を持つデバイス インスタンス プロパティの場合は、引き続き INF AddReg ディレクティブ を使用してデバイス インスタンス プロパティを設定する必要があります。 これらのガイドラインは、システム定義のプロパティとカスタム プロパティに適用されます。 AddProperty ディレクティブの使用方法の詳細については、「INF AddProperty ディレクティブと INF DelProperty ディレクティブの使用」を参照してください。
Include=filename1.inf[,filename2.inf]...
このオプションのエントリは、このデバイスやドライバーのインストールに必要なセクションを含む 1 つ以上のシステム提供追加ァイルを指定します。 このエントリが指定されている場合、通常は Needs エントリも指定されます。
たとえば、システムのカーネル ストリーミング サポートに依存するデバイス ドライバーの INF ファイルでは、次のようにこのエントリを指定できます。
Include= ks.inf, kscaptur.inf, ksfilter.inf
Needs=inf-section-name[,inf-section-name]...
この省略可能なエントリは、このデバイスのインストール中に処理する必要がある、システム提供の INF ファイル内のセクションを指定します。 通常、このような名前のセクションは Include エントリーにリストされている INF ファイルの中の DDInstall (または DDInstall.xxx) セクションです。 ただし、含まれる INF の DDInstall または DDInstall.xxx セクション内で参照される任意のセクションにすることができます。
たとえば、前の インクルード エントリを持つデバイス ドライバーの INF ファイルでは、次のようにこのエントリを指定できます。
Needs= KS.Registration, KSCAPTUR.Registration.NT, MSPCLOCK.Installation
FeatureScore=featurescore
警告
FeatureScore ディレクティブは、 [DDInstall] セクションで直接指定した場合にのみ処理されます。
(Windows Vista 以降)このディレクティブは、ドライバーがサポートする機能に基づくドライバーの追加のランク付け基準を提供します。 たとえば、機能スコアは、クラス固有の条件に基づいてドライバー を区別する デバイス セットアップ クラス で定義される可能性があります。
ドライバーのランク付けの詳細については、「Windows がドライバーをランク付けする方法 (Windows Vista 以降)」を参照してください。
このディレクティブの詳細については、 INF FeatureScore ディレクティブを参照してください。
Note
DDInstall セクションには複数の FeatureScore エントリを含めることができますが、セクションの最初のエントリのみが処理されます。
ExcludeID=device-identification-string[,device-identification-string]...
警告
ExcludeID ディレクティブは、 [DDInstall] セクションで直接指定した場合にのみ処理されます。
(Windows XP 以降)このディレクティブは、1 つ以上のデバイス識別文字列 (ハードウェア ID または 互換性のある ID) を指定します。 DDInstall セクションでは、一覧に示されている ハードウェア ID または互換性のある ID のいずれかに一致するデバイス ID を持つデバイスはインストールされません。
Reboot
このディレクティブは、インストールが完了した後、呼び出し元にシステムの再起動を求めるメッセージを表示することを示します。
詳しくは、「INF Reboot ディレクティブ」をご覧ください。
ユニバーサル INF ではサポートされていません
Delfiles=file-list-section[,file-list-section]...
このディレクティブは、削除するターゲット上のファイルを一覧表示する 1 つ以上の INF ライター定義セクションを参照します。
詳しくは、「INF DeLFiles ディレクティブ」をご覧ください。
Renfiles=file-list-section[,file-list-section]...
このディレクティブは、デバイス関連のソース ファイルがターゲット コンピューターにコピーされる前に、コピー先で名前を変更するファイルを一覧表示する 1 つ以上の INF ライター定義セクションを参照します。
詳しくは、「INF RenFiles ディレクティブ」をご覧ください。
DelReg=del-registry-section[,del-registry-section]...
このディレクティブは、デバイスのインストール中にキーや値のエントリをレジストリから削除するように指定されている 1 つ以上の INF ライター定義セクションを参照します。
通常、このディレクティブは、INF がこのデバイスの以前のインストールから古いレジストリ エントリをクリーンする必要がある場合にアップグレードを処理するために使用されます。
このような delete-registry セクションで指定された HKR 仕様は、インストールされているデバイスの "ソフトウェア キー" レジストリ パスを指定します。
詳しくは、「INF DelReg ディレクティブ」をご覧ください。
DelProperty=del-property-section[,del-property-section]...
(Windows Vista 以降)デバイス インスタンスに設定されている デバイス プロパティ を削除する 1 つ以上の INF ファイル セクションを参照します。 INF DelProperty ディレクティブ は、Windows Vista 以降のバージョンの Windows オペレーティング システムに新しいデバイス インスタンス プロパティを削除する場合にのみ使用する必要があります。
Windows Server 2003、Windows XP、または Windows 2000 で以前に導入され、対応するレジストリ エントリ値を持つデバイス インスタンス プロパティの場合は、引き続き INF DelReg ディレクティブ を使用してデバイス インスタンス プロパティを削除する必要があります。 これらのガイドラインは、システム定義のプロパティとカスタム プロパティに適用されます。 DelProperty ディレクティブの使用方法の詳細については、「INF AddProperty ディレクティブと INF DelProperty ディレクティブの使用」を参照してください。
BitReg=bit-registry-section[,bit-registry-section]...
このディレクティブは、 REG_BINARY型 の既存のレジストリ値エントリが変更される 1 つ以上の INF ライター定義セクションを参照します。
このような bit-レジストリ セクションで指定された HKR 仕様は、インストールされているデバイスの "ソフトウェア キー" レジストリ パスを指定します。
詳しくは、「INF BitReg ディレクティブ」をご覧ください。
LogConfig=log-config-section[,log-config-section]...
このディレクティブは、ルート列挙デバイスまたは手動でインストールされたデバイスの INF 内の 1 つ以上の INF ライター定義セクションを参照します。 これらの名前付きセクションでは、このような "検出" または手動でインストールされたデバイスの INF によって、デバイスが動作する必要があるバス相対ハードウェア リソースの 1 つ以上の論理構成が指定されます。 ソフトウェアで構成できない手動でインストールされたデバイスの INF には、 DDInstall.FactDef セクションも必要です。
LogConfig ディレクティブは、プラグ アンド プレイ (PnP) デバイスのインストールには使用されません。 ただし、 INF DDInstall.LogConfigOverride セクション を使用して、PnP デバイスのオーバーライド構成を提供できます。
このディレクティブは、上位レベル (非デバイス) のすべてのドライバーとコンポーネントとは無関係です。
詳しくは、「INF LogConfig ディレクティブ」をご覧ください。
ProfileItems=profile-items-section[,profile-items-section]...
(Microsoft Windows 2000 以降のバージョンの Windows)この使用頻度の低いディレクティブは、スタート メニューに追加または削除する項目を記述する 1 つ以上の INF ライター定義セクションを参照します。
詳しくは、「INF ProfileItems ディレクティブ」をご覧ください。
UpdateInis=update-ini-section[,update-ini-section]...
この使用頻度の低いディレクティブは、1 つ以上の INF ライター定義セクションを参照します。このセクション内の特定のセクションまたは行をインストール時に同じ名前の宛先 INI ファイルに読み込むソース INI ファイルを指定します。 必要に応じて、同じ名前の特定のソース INI ファイルからコピー先の既存の INI ファイルに対する行単位の変更を update-ini セクションで指定できます。
詳細については、 INF UpdateInis ディレクティブを参照してください。
UpdateIniFields=update-inifields-section[,update-inifields-section]...
この使用頻度の低いディレクティブは、デバイス固有の INI ファイルの行内で変更が指定されている 1 つ以上の INF ライター定義セクションを参照します。
詳細については、 INF UpdateIniFields ディレクティブを参照してください。
Ini2Reg=ini-to-registry-section[,ini-to-registry-section]...
この使用頻度の低いディレクティブは、ソース メディアで提供されるデバイス固有の INI ファイルのセクションまたは行をレジストリに移動する 1 つ以上の INF ライター定義セクションを参照します。
詳しくは、「INF Ini2Reg ディレクティブ」をご覧ください。
RegisterDlls=register-dll-section[,register-dll-section]...
このディレクティブは、OLE コントロールであり、自己登録が必要なファイルを指定するために使用される 1 つ以上の INF セクションを参照します。
詳しくは、「INF RegisterDlls ディレクティブ」をご覧ください。
UnregisterDlls=unregister-dll-section[,unregister-dll-section]...
このディレクティブは、OLE コントロールであり、自己登録解除 (自己削除) が必要なファイルを指定するために使用される 1 つ以上の INF セクションを参照します。
詳しくは、「INF UnregisterDlls ディレクティブ」をご覧ください。
解説
Windows Driver Kit (WDK) のドキュメント全体を通して、 DDInstall という用語は、プラットフォーム拡張機能の有無にかかわらず、 インストール セクション名 を参照するために使用されます。 したがって、"DDInstall section" とは、INF 内の名前付きセクションを意味し、形式は [install-section-name] または [install-section-name.ntxxx] になります。 DDInstall セクションの名前を作成するときは、 [WDMPNPB003_Device] や [GPR400Install.NT] などのデバイス固有のプレフィックスを含める必要があります。。
各 DDInstall セクションは、INF ファイルの製造元ごとの INF モデル セクション のデバイス/モデル固有のエントリで参照する必要があります。
ソース メディアから転送するファイルが関連付けられていないデバイスを除き、異なるオペレーティング システム プラットフォームに WDM ドライバーをインストールする INF ファイルには、次の DDInstall セクションの少なくとも 1 つが必要です。
- x86 ベースのプラットフォームに固有のデバイス/ドライバーのインストールのエントリを指定する install-section-name.ntx86 セクション。
- Itanium ベースのプラットフォームに固有のデバイス/ドライバーのインストールのエントリを指定する install-section-name.ntia64 セクション。
- x64 ベースのプラットフォームに固有のデバイス/ドライバーのインストールのエントリを指定する install-section-name.ntamd64 セクション。
- Arm ベースのプラットフォームに固有のデバイス/ドライバーのインストールのエントリを指定する install-section-name.ntarm セクション。
- Arm64 ベースのプラットフォームに固有のデバイス/ドライバーのインストールのエントリを指定する install-section-name.ntarm64 セクション。
- 特定のハードウェア プラットフォームに固有ではないデバイス/ドライバーのインストールのエントリを指定する install-section-name または install-section-name.nt セクション。
システム定義の .nt, .ntx86, .ntia64, .ntamd64, .ntarm, および .ntarm64 の拡張機能の使用方法の詳細については、「複数のプラットフォームとオペレーティング システム用の INF ファイルの作成」を参照してください。
Windows 2000 以降では、ドライバーをインストールする INF ファイルには 、ドライバー サービス情報を指定するための DDInstall.Services セクションが必要です。
DDInstall セクション内の各ディレクティブは、複数のセクション名を参照できます。 ただし、追加の名前付きセクションはそれぞれ、コンマ (,) で区切る必要があります。
各セクション名は、INF ファイル内で一意である必要があり、セクション名を定義するための一般的な規則に従う必要があります。 これらの規則の詳細については、「INF ファイルの一般的な構文規則」を参照してください。
DDInstall セクションで指定された AddReg ディレクティブは、上位または下位のフィルター ドライバー、多機能デバイス、またはドライバーに依存しないがデバイス固有のパラメーターに関する情報を格納するために使用できない追加レジストリ セクションを参照するものと見なされます。 デバイス/ドライバのINFがこの種の情報をレジストリに格納しなければならない場合、装飾されていない DDInstall.HWセクションの AddReg 命令を使って、別のINFライタ定義の add-registry-section を参照しなければなりません。
INF Version セクションで指定された デバイス セットアップ クラス に応じて、 DDInstall セクションでクラス固有の追加ディレクティブを指定できます。 クラス固有のディレクティブの詳細については、次のトピックを参照してください。
- Windows SideShow 互換デバイス用の INF ファイルのビルド
- ネットワーク INF ファイル内の DDInstall セクション
- 静止画像デバイスの INF ファイル
- WIA デバイスの INF ファイル
- ネットワーク コンポーネントのインストール要件
- INF ファイルでの WDF ディレクティブの指定
例
この例では、 DDInstall セクション、 Ser_Inst および Inp_Instの展開を示します。 これらのセクションは、 INF モデル セクションの例で参照されています。
[Ser_Inst]
CopyFiles=Ser_CopyFiles, mouclass_CopyFiles
[Ser_CopyFiles]
sermouse.sys
[mouclass_CopyFiles] ; section name referenced by > 1 CopyFiles
mouclass.sys
[Inp_Inst]
CopyFiles=Inp_CopyFiles, mouclass_CopyFiles
[Inp_CopyFiles]
inport.sys
次の例は、 さまざまなオペレーティング システム プラットフォームでオーディオ デバイスのシステム提供 WDM ドライバーをインストールする INF ファイルの DDInstall セクションを示しています。
[WDMPNPB003_Device.NT]
Include=ks.inf, wdmaudio.inf
Needs=KS.Registration, WDMAUDIO.Registration.NT
CopyFiles=MSSB16.CopyList
AddReg=WDM_SB16.AddReg
次の例は、システム指定の ks.inf ファイルと wdmaudio.inf ファイルの前の Needs エントリで参照されているセクションを示しています。 前の例では、これらのファイルは インクルード エントリで指定されています。 オペレーティング・システムのデバイス・インストーラがこのデバイスの install-section-name.nt セクションを処理するとき、次の2つのセクションも処理されます。
[KS.Registration]
; following AddReg= is actually a single line in the ks.inf file
AddReg=ProxyRegistration,CategoryRegistration,\
TopologyNodeRegistration,PlugInRegistration,PinNameRegistration,\
DeviceRegistration
CopyFiles=KSProxy.Files,KSDriver.Files
[WDMAUDIO.Registration.NT]
AddReg=WDM.AddReg
CopyFiles=WDM.CopyFiles.Sys, WDM.CopyFiles.Drv
;
; INF-writer-defined add-registry and file-list sections
; referenced by preceding directives are omitted here for brevity
;