Директива INF UpdateIniFields

Внимание!

Начиная с Windows 11 версии 22H2, пакет драйвера, использующий эту директиву, больше не может быть подписан центром разработчиков оборудования.

Пакеты универсальных драйверов и драйверы Windows не могут использовать эту директиву.

Директива UpdateIniFields ссылается на один или несколько именованных разделов, в которых можно указать детализированные изменения в строках 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)

UpdateIniFields=update-inifields-section[,update-inifields-section]...

Каждый именованный раздел, на который ссылается директива UpdateIniFields , имеет следующую форму:

[update-inifields-section]
 
ini-file,ini-section,profile-name[,old-field][,new-field][,flags]
...

Раздел update-inifields-section может содержать любое количество записей, определяемых inf-writer, каждая из которых размещена в отдельной строке.

Записи

ini-file
Указывает имя INI-файла, предоставленного на исходном носителе, и, неявно, имя обновляемого INI-файла на целевом компьютере. Это значение может быть выражено в виде имени файла или маркера %strkey%, определенного в разделе Strings INF-файла.

ini-section
Указывает имя раздела в заданных INI-файлах, содержащего строку для изменения.

profile-name
Указывает имя строки, изменяемой в заданном разделе INI. Чтобы изменить эту строку, необходимо указать по крайней мере одну из записей старого и (или ) нового поля .

старое поле
Указывает существующее поле в заданной строке. Если в этой записи раздела опущено новое поле , это поле удаляется из заданной строки. В противном случае данное значение нового поля должно заменить это поле.

новое поле
Задает замену заданного старого поля или, если старое поле опущено, дополнение к заданной строке.

flags
Указывает (в бите 0) способ интерпретации данного старого- и (или) нового-поля, если одно или обаполя содержат звездочку (*), и/или (в бите 1), какой символ-разделитель следует использовать при добавлении данного нового поля в указанную строку следующим образом:

Бит ноль = 0
Интерпретировать любую звездочку (*) в указанных записях старого и(или) нового поля буквально, а не как символ карта wild-карта при поиске совпадения в заданной строке INI-файла. Это значение по умолчанию.

Бит ноль = 1
Интерпретировать любую звездочку (*) в указанных записях старого и(или) нового поля как символ wild-карта при поиске совпадения в заданной строке INI-файла.

Бит 1 = 0
Используйте пробел в качестве разделителя при добавлении указанной записи нового поля в указанную строку INI-файла . Это значение по умолчанию.

Бит 1 = 1
Используйте запятую (,) в качестве разделителя при добавлении указанной записи нового поля в указанную строку INI-файла .

Комментарии

Директива UpdateIniFields почти никогда не указывается в INF-файлах для установок в Windows, так как нет необходимости иметь INI-файлы на их носителе распространения. Однако директива UpdateIniFields действительна в любом из разделов, показанных в формальной инструкции синтаксиса, а также в разделах, определяемых inf-writer, на которые ссылается директива AddInterface или на которые ссылается раздел InterfaceInstall32 .

Каждое имя раздела update-inifields-section должно быть уникальным для INF-файла. Каждое имя раздела, созданного inf-writer, должно быть уникальным в ПРЕДЕЛАХ INF-файла и соответствовать общим правилам определения имен разделов. Дополнительные сведения об этих правилах см. в разделе Общие правила синтаксиса для ФАЙЛОВ INF.

В отличие от раздела, на который ссылается директива UpdateInis , раздел, на который ссылается UpdateIniFields , заменяет, добавляет или удаляет части строки в существующей строке файла INI, а не влияет на все значение конкретной строки. В каждой записи раздела должно быть указано по крайней мере одно из значений старого и (или ) нового поля .

Все комментарии в строке INI-файла удаляются, так как они могут быть неприменимы после внесения изменений в соответствии с этим разделом. При поиске полей в строке ini-файлов пробелы, табуляции и запятые интерпретируются как разделители полей. Однако символ пробела используется в качестве разделителя по умолчанию при добавлении нового поля к строке.

Inf предоставляет полный путь к заданному ini-файлу на носителе распространения одним из следующих способов:

  • В INF-файлах, предоставленных IHV или OEM, с помощью разделов SourceDisksNames и SourceDisksFiles этого INF явно укажите полный путь к каждому именованному исходному файлу, который не находится в корневом каталоге (или каталогах) на носителе распространения.

  • В системных INF-файлах, указав один или несколько дополнительных INF-файлов, указанных в записи LayoutFile в разделе Версия INF-файла.

См. также раздел

AddInterface

ClassInstall32

Установка DDInstall

Ini2Reg

InterfaceInstall32

SourceDisksFiles

SourceDisksNames

строк

UpdateInis

Версия