INF DDInstall.HW セクション
DDInstall.HW セクションは、通常、多機能デバイスのインストール、PnP フィルター ドライバーのインストール、ユーザーがアクセスできるデバイス固有のドライバーに依存しない情報をレジストリに設定するために使用されます。明示的な AddReg ディレクティブを使用する場合も、 Include エントリと Needs エントリを使用する場合も同様です。
[install-section-name.HW] |
[install-section-name.nt.HW] |
[install-section-name.ntx86.HW] |
[install-section-name.ntia64.HW] | (Windows XP and later versions of Windows)
[install-section-name.ntamd64.HW] | (Windows XP and later versions of Windows)
[install-section-name.ntarm.HW] | (Windows 8 and later versions of Windows)
[install-section-name.ntarm64.HW] (Windows 10 version 1709 and later versions of Windows)
[AddReg=add-registry-section[,add-registry-section]...] ...
[Include=filename.inf[,filename2.inf]...]
[Needs=inf-section-name[,inf-section-name]...]
[DelReg=del-registry-section[,del-registry-section]...] ...
[BitReg=bit-registry-section[,bit-registry-section] ...]
エントリ
ユニバーサル INFでは、すべての有効なエントリがサポートされているわけではありません。 次に、ユニバーサル INF で有効なディレクティブと有効でないディレクティブを示します。
ユニバーサル INF でサポートされる
AddReg=add-registry-section[,add-registry-section]...
この DDInstall.HW セクションでカバーされるデバイスの INF ファイル内の別の場所で、INF ライターによって定義された 1 つ以上の add-registry-sections を参照します。 add-registry セクション は、通常、フィルターをインストールしたり、デバイスごとの情報をレジストリに格納したりします。 このような add-registry セクション の HKR 仕様では、デバイスの ハードウェア キー (デバイスに関する情報を含むデバイス固有のレジストリ サブキー) を指定します。 ハードウェア キーは、デバイス キーとも呼ばれます。 詳しくは、「デバイスとドライバー のレジストリ ツリーとキー」をご覧ください。 ドライバー パッケージは、 DDInstall.HWセクションによって参照される add-registry セクションの HKR 仕様を使用して、INF を介して設定を追加できます。
詳しくは、「INF AddReg ディレクティブ」をご覧ください。
Include=filename.inf[,filename2.inf]...
このデバイスをインストールするために必要なセクションを含む 1 つ以上のシステム提供 INF ファイルを指定します。 このエントリが指定されている場合、通常は Needs エントリも指定されます。
Needs=inf-section-name[,inf-section-name]...
このデバイスのインストール中に処理する必要がある名前付きセクションを指定します。 通常、このような名前付きセクションは、 Include エントリにリストされているシステム提供の INF ファイル内の DDInstall.HW セクションです。 ただし、含まれる INF の DDInstall.HW セクション内で参照される任意のセクションにすることができます。
ユニバーサル INF ではサポートされていません
DelReg=del-registry-section[,del-registry-section]...
この DDInstall セクション の対象となるデバイスのドライバーについて、INF ファイル内の 1 つ以上の INF ライター定義 delete-registry-sectionを参照します。 このような delete-registry セクションは、以前にインストールされたデバイス/ドライバーの古いレジストリ情報をターゲット コンピューターから削除します。 このような delete-registry セクションの HKR 仕様は、 AddReg と同じサブキーを指定します。
この DDInstall セクションの名前を定義したModels セクションに記載されているデバイス/モデルと同じデバイス/モデルの以前のインストールをアップグレードするINFファイルを除いて、このディレクティブが使われることはほとんどありません。 詳しくは、「INF DelReg ディレクティブ」をご覧ください。
BitReg=bit-registry-section[,bit-registry-section] ...
このセクションでは有効ですが、ほとんど使用されません。 参照されるビット レジストリ セクションの HKR 仕様は、 AddReg と同じサブキーを指定します。 詳しくは、「INF BitReg ディレクティブ」をご覧ください。
解説
正式な構文文に示されている install-section-name の大文字小文字を区別しない拡張は、クロスプラットフォームINFファイルの DDInstall.HW セクション名に挿入することができます。 システム定義の .nt, .ntx86, .ntia64, .ntamd64, .ntarm, および .ntarm64 の拡張機能の使用方法の詳細については、「複数のプラットフォームとオペレーティング システム用の INF ファイルの作成」を参照してください。
任意の DDInstall.HW セクションには、次のいずれかが必要です。
- AddReg ディレクティブ。
- 別の INF ファイルを指定する Include エントリ。 この場合、 DDInstall.HW セクションには、他のINFファイルのセクションを指定する対応する Needs 項目も含まれていなければなりません。 このセクションは、必要なレジストリ情報を設定するために使用されます。
DDInstall.HW セクションの各ディレクティブは、複数のINFライター定義セクション名を参照できます。 ただし、追加の名前付きセクションはそれぞれ、コンマ (,) で区切る必要があります。
このような各セクション名は、INF ファイル内で一意である必要があり、セクション名を定義するための一般的な規則に従う必要があります。 これらの規則の詳細については、「INF ファイルの一般的な構文規則」を参照してください。
多機能デバイスのインストール方法の詳細については、「多機能デバイスのサポート」を参照してください。
例
この例では、ドライバ・パッケージが DDInstall.HW セクションと DDInstall.Services セクションを使用して、ファンクション・ドライバとPnPアッパー・フィルタ・ドライバの両方を追加する方法を示します。
[Example_DDInstall]
CopyFiles=example_copyfiles
[Example_DDInstall.HW]
AddReg=filter_addreg
[filter_addreg]
HKR,,"UpperFilters",0x00010000,"ExampleUpperFilter" ; [REG_MULTI_SZ](https://learn.microsoft.com/windows/desktop/SysInfo/registry-value-types) value
[Example_DDInstall.Services]
AddService=ExampleFunctionDriver,0x00000002,function_ServiceInstallSection
AddService=ExampleUpperFilter,,filter_ServiceInstallSection
[function_ServiceInstallSection]
DisplayName = %function_ServiceDesc%
ServiceType = 1
StartType = 3
ErrorControl = 1
ServiceBinary = %13%\ExampleFunctionDriver.sys
[filter_ServiceInstallSection]
DisplayName = %filter_ServiceDesc%
ServiceType = 1
StartType = 3
ErrorControl = 1
ServiceBinary = %13%\ExampleUpperFilter.sys