Dyrektywa INF UpdateInis

Caution

Począwszy od Windows 11 wersji 22H2, pakiet sterowników korzystający z tej dyrektywy nie kwalifikuje się już do podpisu z Witryny Hardware Developer Center.

Uniwersalne pakiety sterowników i sterowniki Windows nie mogą używać tej dyrektywy.

Dyrektywa UpdateInis odwołuje się do co najmniej jednej nazwanej sekcji, określając plik INI, z którego ma zostać odczytany i zastosowany do istniejącego pliku INI o tej samej nazwie na komputerze docelowym. Opcjonalnie w sekcji update-ini-section można określić modyfikacje wierszy od i do takich plików 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]...

Ta dyrektywa prawie nigdy nie jest określona w plikach INF do instalacji w Windows ze względu na brak konieczności plików INI. Jednak dyrektywa UpdateInis jest prawidłowa w dowolnych sekcjach przedstawionych w instrukcji składni formalnej, a także w sekcjach zdefiniowanych przez moduł zapisywania INF, do których odwołuje się dyrektywa AddInterface lub do których odwołuje się sekcja InterfaceInstall32 .

Każda nazwana sekcja, do którego odwołuje się dyrektywa UpdateInis , ma następującą postać:

[update-ini-section]
 
ini-file,ini-section[,old-ini-entry][,new-ini-entry][,flags]
...

Sekcja update-ini może zawierać dowolną liczbę wpisów określonych przez moduł zapisywania INF, z których każda jest w osobnym wierszu.

Wpisy

ini-file
Określa nazwę pliku INI dostarczonego na nośniku źródłowym i niejawnie, który ma zostać zaktualizowany na komputerze docelowym. Tę wartość można wyrazić jako nazwę pliku lub jako %strkey% token zdefiniowany w sekcji Ciągi pliku INF.

sekcja ini
Określa nazwę sekcji w danym pliku INI. Jeśli określono dwie następne wartości, ta sekcja zawiera wpis, który ma zostać zmieniony. Jeśli element old-ini-entry zostanie pominięty, ale zostanie podany nowy wpis , nowy wpis ma zostać dodany w miarę odczytywania tej sekcji.

old-ini-entry
Ta opcjonalna wartość określa nazwę wpisu w podanej sekcji ini, zwykle wyrażone w następującym formularzu:

"key=value"

Zarówno klucz , jak i wartość mogą być wyrażone jako %strkey% tokeny zdefiniowane w sekcji Ciągi pliku INF. Gwiazdka (*) może być określona jako symbol wieloznaczny dla klucza lub wartości.

new-ini-entry
Ta opcjonalna wartość określa zmianę danego starego wpisu lub dodanie nowego wpisu. Tę wartość można wyrazić w taki sam sposób, jak w przypadku starego wpisu.

flags
Ta opcjonalna wartość steruje interpretacją danego starego wpisu i/lub nowego wpisu. Wpis flag może być jedną z następujących wartości liczbowych:

Value Meaning
0 Jest to wartość domyślna wpisu flag, jeśli zostanie pominięta.

Jeśli dany klucz old-ini-entry znajduje się w plikach INI, zastąp ten klucz=wartość danym nowym wpisem. Tylko klucze w plikach INI muszą być zgodne. Odpowiednia wartość każdego takiego klucza jest ignorowana.

Aby dodać nowy wpis do docelowego pliku INI bezwarunkowo, pomiń wartość old-ini-entry z wpisu w sekcji update-ini inf.

Aby usunąć stary wpis z docelowego pliku INI bezwarunkowo, pomiń wartość new-ini-entry .
1 Jeśli dany wpis old-ini (key=value) istnieje w plikach INI, zastąp go w docelowym pliku INI, który ma podany nowy wpis. Zarówno klucz , jak i wartość określonego starego wpisu muszą być zgodne z tymi w plikach INI, aby takie zastąpienie zostało wykonane, a nie tylko ich klucze, jak dla poprzedniej wartości flagi .
2 Jeśli nie można odnaleźć klucza określonego dla starego wpisu ini w docelowym pliku INI, nic nie rób. W przeciwnym razie wprowadzone zmiany zależą od dopasowań znalezionych w plikach INI dla danego klucza starego wpisu i nowego wpisu w następujący sposób:

(1) Jeśli kluczstarego wpisu istnieje w plikach INI, ale tak czy klucznew-ini-entry, zastąp wpis old-ini wpis nowym wpisem w docelowym pliku INI, a następnie usuń nadmiarowy wpis new-ini z tego pliku INI.

(2) Jeśli kluczstarego wpisu istnieje w plikach INI, ale klucz new-ini-entry nie, zastąpklucz old-ini-entry tym nowym wpisem w docelowym pliku INI, ale pozostaw wartość starego wpisu ini bez zmian.
3 Jeśli nie można odnaleźć klucza i wartości określonej dla starego wpisu w plikach INI, nic nie rób. W przeciwnym razie wprowadzone zmiany zależą od dopasowań znalezionych w plikach INI dla danych kluczy i wartości old-ini-entry i new-ini-entry w następujący sposób:

(1) Jeśli klucz=wartośćstarego wpisu ini istnieje w plikach INI, ale tak czy klucz=wartośćnew-ini-entry, zastąp old-ini-entrynew-ini-entry new-ini-entry w docelowym pliku INI, a następnie usuń nadmiarowy wpis new-ini z tego pliku INI.

(2) Jeśli klucz=wartośćstarego wpisu ini istnieje w plikach INI, ale new-ini-entry nie, zastąp element old-ini-entrynowym wpisem w docelowym pliku INI, ale pozostaw wartość starego wpisu ini bez zmian.

Remarks

Dana nazwa sekcji update-ini musi być unikatowa w pliku INF i musi być zgodna z ogólnymi regułami definiowania nazw sekcji. Aby uzyskać więcej informacji na temat tych reguł, zobacz Ogólne reguły składni dla plików INF.

InF zapewnia pełną ścieżkę danego pliku ini na nośniku dystrybucji w jeden z następujących sposobów:

  • W plikach INF dostarczanych przez IHV/OEM, używając sekcji SourceDisksNames i SourceDisksFiles tego INF, aby jawnie określić pełną ścieżkę każdego nazwanego pliku źródłowego, który nie znajduje się w katalogu głównym (lub katalogach) na nośniku dystrybucji.

  • W plikach INF dostarczanych przez system, podając co najmniej jeden dodatkowy plik INF, zidentyfikowany we wpisie LayoutFile w sekcji Wersja pliku INF.

Każda nazwa pliku określona w pliku old-ini-entry lub new-ini-entry powinna wyznaczyć katalog docelowy zawierający ten plik. Taka docelowa ścieżka katalogu nazwy pliku we wpisie update-ini-section musi być określona jako dirid. Aby uzyskać listę możliwych wartości dirid, zobacz Using Dirids (Używanie dirids).

Informacje dodatkowe

AddInterface

ClassInstall32

DDInstall

DestinationDirs

Ini2Reg

InterfaceInstall32

ProfileItems

SourceDisksFiles

SourceDisksNames

Ciągi

UpdateIniFields

Wersja