INF UpdateInis ディレクティブ
注意事項
Windows 11 バージョン 22H2 以降では、このディレクティブを使用する ドライバー パッケージ は、 ハードウェア デベロッパー センターからの署名の対象ではなくなりました。
ユニバーサル ドライバー パッケージ と Windows ドライバー では、このディレクティブを使用できません。
UpdateInis ディレクティブは、1 つ以上の名前付きセクションを参照し、特定のセクションまたは行を読み取り、ターゲット コンピューター上の同じ名前の既存の INI ファイルに適用する INI ファイルを指定します。 必要に応じて、このような INI ファイルとの間で行ごとの変更を update-ini セクションで指定できます。
[DDInstall] |
[DDInstall.CoInstallers] |
[ClassInstall32] |
[ClassInstall32.ntx86] |
[ClassInstall32.ntia64] | (Windows XP and later versions of Windows)
[ClassInstall32.ntamd64] | (Windows XP and later versions of Windows)
[ClassInstall32.ntarm] | (Windows 8 and later versions of Windows)
[ClassInstall32.ntarm64] (Windows 10 version 1709 and later versions of Windows)
UpdateInis=update-ini-section[,update-ini-section]...
このディレクティブは、INI ファイルの必要性がないため、Windows へのインストール用の INF ファイルでほとんど指定されません。 ただし、UpdateInis ディレクティブは、正式な構文ステートメントに示されているセクションと、AddInterface ディレクティブによって参照される INF ライター定義セクション、または InterfaceInstall32 セクションで参照されているセクションで有効です。
Updatelnis ディレクティブによって参照される各名前付きセクションの形式は次のとおりです。
[update-ini-section]
ini-file,ini-section[,old-ini-entry][,new-ini-entry][,flags]
...
update-ini-section には、INF ライターによって決定されるエントリの数を、それぞれ個別の行に含めることができます。
Entries
ini-file
ソース メディアで指定された INI ファイルの名前を指定し、ターゲット コンピューター上の更新する INI ファイルの名前を暗黙的に指定します。 この値は、ファイル名または INF ファイルの Strings セクションで定義されている %strkey% トークンとして表すことができます。
ini-section
指定された INI ファイル内のセクションの名前を指定します。 次の 2 つの値を指定した場合、このセクションには変更するエントリが含まれます。 old-ini-entry を省略しても、new-ini-entry が指定されている場合は、このセクションが読み取られると、新しいエントリが追加されます。
old-ini-entry
この省略可能な値は、指定 された ini セクション内のエントリの名前を指定します。通常、次の形式で表されます。
"key=value"
キー と 値 のいずれかまたは両方を、INF ファイルの Strings セクションで定義された %strkey% トークンとして表すことができます。 アスタリスク (*) は、キー または 値のワイルド カードとして指定できます。
new-ini-entry
この省略可能な値は、指定 された old-ini-entry への変更または新しいエントリ の追加を指定します。 この値は、old-ini-entryと同じ方法で表すことができます。
flags
この省略可能な値は、指定 された old-ini-entry や new-ini-entry の解釈を制御します。 フラグ エントリには、次のいずれかの数値を指定できます。
値 | 意味 |
---|---|
0 | これは、省略された場合のフラグ エントリの既定値です。 指定された old-ini-entry キーが INI ファイルに存在する場合は、その key=value を指定された new-ini-entry に置き換えます。 INI ファイル内のキーのみが一致する必要があります。 このような各キーの対応する値は無視されます。 new-ini-entry を宛先 INI ファイルに無条件に追加するには、INF の update-ini セクションのエントリからold-ini-entry の値を省略します。 コピー先の INI ファイルから old-ini-entry を無条件に削除するには、 new-ini-entry 値を省略します。 |
1 | 指定 された 古い ini-entry (key=value) が INI ファイルに存在する場合は、指定 された new-ini-entry を持つ宛先 INI ファイルで置き換えます。 指定された old-ini-entry の キー と 値 は、前の フラグ 値のキーだけでなく、このような置換を行うために INI ファイル内のキーと一致する必要があります。 |
2 | コピー先の INI ファイルに 古い ini-entry に指定された キー が見つからない場合は、何も行いません。 それ以外の場合、変更は、次のように、 old-ini-entry と new-ini-entry の特定のキーに対する INI ファイル内の一致によって異なります。 (1) old-ini-entryのキーが INI ファイルに存在するが、new-ini-entry の キー も存在する場合は、old-ini-entry を宛先 INI ファイルの new-ini エントリ に置き換え、その INI ファイルから余分な new-ini エントリ を削除します。 (2) INI ファイルに old-ini-entry のキーが存在するが、new-ini-entry のキーが存在しない場合は、old-ini-entry キーを宛先 INI ファイルの new-ini-entry キーに置き換えますが、old-ini-entry の値は変更されません。 |
3 | 古い ini-entry に指定された キー と 値 が INI ファイルに見つからない場合は、何も行わないでください。 それ以外の場合は、以下のように、old-ini-entry と new-ini-entry のキーと値のINIファイルの一致によって変更が行われる: (1) old-ini-entryのキー=値が INI ファイルに存在するが、new-ini-entry の キー=値 も存在する場合は、old-ini-entry を宛先 INI ファイルの new-ini エントリ に置き換え、その INI ファイルから余分な new-ini エントリ を削除します。 (2) INI ファイルに old-ini-entry の キー=値 が存在するが、new-ini-entry が存在しない場合は、old-ini-entry を宛先 INI ファイルの new-ini エントリ に置き換えますが、old-ini-entry の値は変更されません。 |
解説
指定された update-ini-section 名は、INF ファイル内で一意である必要があり、セクション名を定義するための一般的な規則に従う必要があります。 これらの規則の詳細については、「INF ファイルの一般的な構文規則」を参照してください。
INF は、次のいずれかの方法で配布メディア上の指定された ini-file の完全なパスを提供します。
IHV/OEM が提供する INF ファイルでは、この INF の SourceDisksNames セクションと、場合によっては SourceDisksFiles セクションを使用して、配布メディアのルート ディレクトリ (またはディレクトリ) にない各名前付きソース ファイルの完全なパスを明示的に指定します。
システム提供の INF ファイルでは、INF ファイルの バージョン セクションの LayoutFile エントリで識別される、1 つ以上の追加の INF ファイルを指定します。
old-ini-entry または new-ini エントリ 内で指定された ファイル名 は、そのファイルを含む宛先ディレクトリを指定する必要があります。 update-ini セクション エントリ内のファイル名 のこのような宛先ディレクトリ パスは、dirid として指定する必要があります。 使用可能なディリド値の一覧については、「Dirids の使用」を参照してください。