Udostępnij przez


Sekcja Producent INF

Sekcja Producent identyfikuje producenta co najmniej jednego urządzenia, które można zainstalować przy użyciu pliku INF.

[Manufacturer]

manufacturer-identifier
[manufacturer-identifier] 
[manufacturer-identifier] 
...

Wpisy

identyfikator producenta
Jednoznacznie identyfikuje producenta i sekcję INF zawierającą informacje identyfikujące modele urządzeń producenta. Każdy wpis identyfikatora producenta musi istnieć w osobnym wierszu i użyć następującego formatu:

manufacturer-name |
%strkey%=models-section-name |
%strkey%=models-section-name [,TargetOSVersion] [,TargetOSVersion] ...  (Windows XP and later versions of Windows)

Te wpisy są definiowane w następujący sposób:

nazwa producenta
Identyfikuje producenta urządzeń. InF musi również zawierać odpowiednią sekcję modele INF o tej samej nazwie. Maksymalna długość nazwy producenta w znakach jest LINE_LEN. (Nie można lokalizować wpisu określonego w ten sposób).

strkey
Określa token, unikatowy w pliku INF, który reprezentuje nazwę producenta. Każdy taki %strkey% token musi być zdefiniowany w sekcji Ciągi INF pliku INF .

models-section-name
Określa nazwę zdefiniowaną przez moduł zapisywania INF dla sekcji modele INF dla producenta w pliku INF. Ta wartość 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.

TargetOSVersion
Określa co najmniej jedną docelową wersję systemu operacyjnego, w której można używać różnych sekcji modeli INF. System Windows wybiera sekcję Modele INF, która jest najbardziej zgodna z wersją systemu operacyjnego, na której jest wykonywany.

Opis dekoracji TargetOSVersion można znaleźć w poniższej sekcji Uwagi i powiązane informacje w przykładzie 3 poniżej.

Ważne

Począwszy od systemu Windows Server 2003 z dodatkiem SP1, pliki INF muszą dekorować pozycje models-section-name w sekcji Producent INF, a także skojarzone nazwy sekcji MODELE INF dla wersji systemów operacyjnych innych niż x86. Te rozszerzenia platformy nie są wymagane w plikach INF dla docelowych wersji systemu operacyjnego opartych na architekturze x86, ale są zalecane.

Uwagi

Każdy plik INF, który instaluje co najmniej jedno urządzenie, musi mieć sekcję Producent . Plik INF dostarczany przez IHV/OEM zwykle określa tylko jeden wpis w tej sekcji. Jeśli określono wiele wpisów, każdy wpis musi znajdować się w osobnym wierszu inf.

Użycie wpisu %model-section-name%= upraszcza lokalizację pliku INF na rynku międzynarodowym, zgodnie z opisem w sekcji Tworzenie międzynarodowych plików INF i strony referencyjnej dla sekcji Ciągi INF.

Jeśli plik INF określa co najmniej jeden wpis w formacie nazwy producenta , każdy taki wpis niejawnie określa nazwę odpowiedniej sekcji Modele w innym miejscu w INF.

Sekcję Producent pliku INF dostarczaną przez system można traktować jako spis treści, ponieważ ta sekcja konfiguruje instalację modeli urządzeń każdego producenta dla klasy konfiguracji urządzenia. Każdy wpis w sekcji Producent pliku INF określa zarówno łatwo lokalizowalne %strkey% token nazwy producenta i unikatowa nazwa-inF dla poszczególnych producentów modele.

Pozycje models-section-name w sekcji Producent można dekorować w celu określenia docelowych wersji systemu operacyjnego. Dla różnych wersji systemu operacyjnego można określić różne INF modele sekcje. Określone wersje wskazują wersje systemu operacyjnego, z którymi są używane sekcje modele INF. Jeśli nie określono żadnych wersji, system Windows używa określonej sekcji Modele dla wszystkich wersji wszystkich systemów operacyjnych.

W przypadku systemu Windows XP do systemu Windows 10 w wersji 1511 format dekoracji TargetOSVersion jest następujący:

NT[Architecture][.[OSMajorVersion][.[OSMinorVersion][.[ProductType][.SuiteMask]]]]

Począwszy od systemu Windows 10 w wersji 1607 (kompilacja 14310 i nowsze), format dekoracji TargetOSVersion jest następujący:

NT[Architecture][.[OSMajorVersion][.[OSMinorVersion][.[ProductType][.[SuiteMask][.[BuildNumber]]]]]

Każde pole jest zdefiniowane w następujący sposób:

NT
Określa docelowy system operacyjny jest oparty na NT. System Windows 2000 i nowsze wersje systemu Windows są oparte na systemie NT.

Architektura
Identyfikuje platformę sprzętu. Jeśli jest określony, musi to być x86, ia64, amd64, arm lub arm64.

Przed systemem Windows Server 2003 z dodatkiem SP1, jeśli nie określono architektury , skojarzona sekcja Modele INF może być używana z dowolną platformą sprzętu.

Począwszy od systemu Windows Server 2003 z dodatkiem SP1, architektura musi być określona w sekcjach Modele INF dla wersji systemu operacyjnego innego niż x86. Architektura jest opcjonalna w nazwach sekcji modele INF dla docelowych wersji systemu operacyjnego opartych na architekturze x86, ale jest zalecana.

OSMajorVersion
Liczba reprezentująca numer wersji głównej systemu operacyjnego. W poniższej tabeli zdefiniowano wersję główną systemu operacyjnego Windows.

Uwaga / Notatka

Aby rozróżnić konkretne wersje systemu Windows 10 i 11 w pliku INF, należy użyć buildNumber (patrz poniżej).

Wersja dla systemu Windows Wersja główna
Windows 11 (wszystkie wersje) 10
Windows Server 2022 10
Windows Server 2019 10
Windows Server 2016 10
Windows 10 (wszystkie wersje) 10
Windows Server 2012 R2 6
Windows 8.1 6
Windows Server 2012 6
Windows 8 6
Windows Server 2008 R2 6
Windows 7 6
Windows Server 2008 6
Windows Vista 6
Windows Server 2003 R2 5
Windows Server 2003 5
Windows XP 5
Windows 2000 5

OSMinorVersion
Numer reprezentujący numer wersji pomocniczej systemu operacyjnego. W poniższej tabeli zdefiniowano wersję pomocniczą systemu operacyjnego Windows.

Wersja dla systemu Windows Wersja mniejsza
Windows 11 (wszystkie wersje) 0
Windows Server 2022 0
Windows Server 2019 0
Windows Server 2016 0
Windows 10 (wszystkie wersje) 0
Windows Server 2012 R2 3
Windows 8.1 3
Windows Server 2012 2
Windows 8 2
Windows Server 2008 R2 1
Windows 7 1
Windows Server 2008 0
Windows Vista 0
Windows Server 2003 R2 2
Windows Server 2003 2
Windows XP 1
Windows 2000 0

typ produktu
Liczba reprezentująca jedną z flag VER_NT_xxxx zdefiniowaną w pliku Winnt.h, na przykład:

0x0000001 (VER_NT_WORKSTATION)

0x0000002 (VER_NT_DOMAIN_CONTROLLER)

0x0000003 (VER_NT_SERVER)

Jeśli określono typ produktu, plik INF jest używany tylko wtedy, gdy system operacyjny jest zgodny z określonym typem produktu. Jeśli funkcja INF obsługuje wiele typów produktów dla pojedynczej wersji systemu operacyjnego, wymagane są wiele wpisów TargetOSVersion .

Maska pakietu
Liczba reprezentująca kombinację co najmniej jednej flagi VER_SUITE_xxxx zdefiniowanej w pliku Winnt.h. Te flagi obejmują następujące elementy:

0x00000001 (VER_SUITE_SMALLBUSINESS)

0x00000002 (VER_SUITE_ENTERPRISE)

0x00000004 (VER_SUITE_BACKOFFICE)

0x00000008 (VER_SUITE_COMMUNICATIONS)

0x00000010 (VER_SUITE_TERMINAL)

0x00000020 (VER_SUITE_SMALLBUSINESS_RESTRICTED)

0x00000040 (VER_SUITE_EMBEDDEDNT)

0x00000080 (VER_SUITE_DATACENTER)

0x00000100 (VER_SUITE_SINGLEUSERTS)

0x00000200 (VER_SUITE_PERSONAL)

0x00000400 (VER_SUITE_SERVERAPPLIANCE)

Jeśli określono co najmniej jedną wartość maski pakietu, funkcja INF jest używana tylko wtedy, gdy system operacyjny pasuje do wszystkich określonych zestawów produktów. Jeśli INF obsługuje wiele kombinacji pakietów produktów dla jednej wersji systemu operacyjnego, wymagane są wiele wpisów TargetOSVersion .

Numer kompilacji
Liczba reprezentująca minimalną liczbę kompilacji systemu operacyjnego wersji systemu Windows, do której ma zastosowanie sekcja, począwszy od kompilacji 14310 lub nowszej.

Przyjmuje się, że numer kompilacji jest względny tylko do określonej wersji głównej/pomocniczej systemu operacyjnego i może zostać zresetowany dla niektórych przyszłych wersji głównych/pomocniczych systemu operacyjnego.

Dowolny numer kompilacji określony przez dekorację TargetOSVersion jest oceniany tylko wtedy, gdy wersja główna/pomocnicza systemu operacyjnego TargetOSVersion jest zgodna z bieżącą wersją systemu operacyjnego (lub AltPlatformInfo).  Jeśli bieżąca wersja systemu operacyjnego jest większa niż wersja systemu operacyjnego określona przez dekorację TargetOSVersion (OSMajorVersion,OSMinorVersion), sekcja jest uważana za obowiązującą niezależnie od określonego numeru kompilacji. Podobnie, jeśli bieżąca wersja systemu operacyjnego jest mniejsza niż wersja systemu operacyjnego określona przez dekorację TargetOSVersion , sekcja nie ma zastosowania.

Jeśli podano numer kompilacji, wersja systemu operacyjnego i numer kompilacji dekoracji TargetOSVersion muszą być większe niż wersja systemu operacyjnego i numer kompilacji kompilacji systemu Windows 10 14310, gdzie ta dekoracja została po raz pierwszy wprowadzona. Wcześniejsze wersje systemu operacyjnego bez tych zmian (na przykład kompilacja systemu Windows 10 10240) nie będą analizować nieznanych dekoracji, więc próba kierowania tych wcześniejszych kompilacji rzeczywiście uniemożliwi systemowi operacyjnemu rozważenie dekoracji ważne w ogóle.

W poniższej tabeli zdefiniowano numer kompilacji dla systemu operacyjnego Windows.

Wersja dla systemu Windows Numer kompilacji
Windows Server 2025 26100
Windows 11 w wersji 24H2 26100
Windows 11, wersja 23H2 22631
Windows 11, wersja 22H2 22621
Windows 11 w wersji 21H2 22000
Windows Server 2022 20348
Windows 10, wersja 22H2 19045
Windows 10, wersja 21H2 19044
Windows 10, wersja 21H1 19043
Windows 10, wersja 20H2 19042
Windows 10 w wersji 2004 19041
Windows 10 w wersji 1909 18363
Windows 10, wersja 1903 18362
Windows Server 2019 17763
Windows 10 w wersji 1809 17763
Windows 10, wersja 1803 17134
Windows 10, wersja 1709 16299
Windows 10 w wersji 1703 15063
Windows Server 2016 14393
Windows 10 w wersji 1607 14393

Aby uzyskać więcej informacji na temat dekoracji TargetOSVersion, zobacz Łączenie rozszerzeń platformy z wersjami systemu operacyjnego.

Ważne

Zdecydowanie zalecamy, aby zawsze dekorować pozycje models-section-name w sekcjach Manufacturer and Models z rozszerzeniami platformy dla docelowych systemów operacyjnych Windows XP lub nowszych wersji systemu Windows. W przypadku platform sprzętowych opartych na architekturze x86 należy unikać korzystania z programu . Rozszerzenie platformy NT i użyj polecenia . Zamiast tego NTx86 .

Jeśli funkcja INF zawiera wpisy sekcji Producent z dekoracjami, musi również zawierać sekcje MODELE INF z nazwami zgodnymi z dekoracjami systemu operacyjnego. Jeśli na przykład inf zawiera następującą sekcję Producent :

%FooCorp%=FooMfg, NTx86.... 0x80, NTamd64

Następnie inf musi również zawierać sekcje MODELE INF o następujących nazwach :

  • [FooMfg.NTx86.... 0x80]

    Ta nazwa dotyczy pakietu Centrum danych systemu Windows XP i nowszych wersji systemu Windows na platformach sprzętowych opartych na architekturze x86.

  • [FooMfg.NTamd64]

    Ta nazwa dotyczy wszystkich typów produktów i pakietów systemu Windows XP i nowszych wersji systemu Windows na platformach sprzętowych opartych na architekturze x64.

Podczas instalacji system Windows wybiera sekcję Modele INF w następujący sposób:

  1. Jeśli system Windows jest uruchomiony w wersji x86 systemu operacyjnego (Windows XP lub nowszej wersji), który zawiera pakiet produktów Centrum danych, system Windows wybiera [FooMfg.NTx86.... 0x80]Sekcja Modele .

  2. Jeśli system Windows jest uruchomiony w wersji x64 systemu operacyjnego (Windows XP lub nowszej) dla dowolnego pakietu produktów, system Windows wybiera sekcję [FooMfg.NTamd64]Modele .

Jeśli inf jest przeznaczony do użytku z wersjami systemu operacyjnego starszym niż Windows XP, musi również zawierać nieukodowaną sekcję Modele o nazwie [FooMfg].

Jeśli inf obsługuje wielu producentów, te reguły muszą być przestrzegane dla każdego producenta.

Poniżej przedstawiono dodatkowe przykłady dekoracji TargetOSVersion :

  • %FooCorp% = FooMfg, NTx86

    W tym przykładzie wynikowa nazwa sekcji MODELE INF to [FooMfg.NTx86] i ma zastosowanie do dowolnej wersji x86 systemu operacyjnego (Windows XP lub nowszego).

  • %FooCorp% = FooMfg, NT.7.8

    W tym przykładzie dla wersji 7.8 i nowszej systemu operacyjnego wynikowa nazwa sekcji MODELE INF to [FooMfg.NT.7.8]. W przypadku wcześniejszych wersji systemu operacyjnego, takich jak Windows XP, jest używany [FooMfg.NT].

Wybór konfiguracji, której sekcji modele INF używać, jest oparty na następujących regułach:

  • Jeśli inf zawiera sekcje MODELE INF dla kilku głównych lub pomocniczych numerów wersji systemu operacyjnego, system Windows używa sekcji z najwyższymi numerami wersji, które nie są wyższe niż wersja systemu operacyjnego, na której odbywa się instalacja.

  • Jeśli sekcje Modele INF zgodne z wersją systemu operacyjnego obejmują również dekoracje typu produktu i/lub pakietu produktów, system Windows wybiera sekcję, która najlepiej pasuje do uruchomionego systemu operacyjnego.

Załóżmy na przykład, że system Windows jest wykonywany w systemie Windows XP (wersja 5.1) bez pakietu produktów Centrum danych i znajduje następujący wpis w sekcji Producent :

%FooCorp%=FooMfg, NT, NT.5, NT.5.5, NT.... 0x80

W tym przypadku system Windows szuka sekcji Modele INF o nazwie [FooMfg.NT.5]. System Windows używa również sekcji [FooMfg.NT.5], jeśli jest wykonywany w wersji Datacenter systemu Windows XP, ponieważ określony numer wersji ma pierwszeństwo przed typem produktu i maską pakietu.

Jeśli chcesz, aby inf jawnie wykluczył określoną wersję systemu operacyjnego, typ produktu lub pakiet, utwórz pustą sekcję Modele INF. Na przykład pusta sekcja o nazwie [FooMfg.NTx86.6.0] uniemożliwia instalację w systemie operacyjnym opartym na architekturze x86 w wersji 6.0 i nowszych.

Przykłady

W tym przykładzie przedstawiono sekcję Producent typową dla inf dla pojedynczego IHV.

[Manufacturer]
%Mfg%=Contoso,NTamd64        ; Models section == Contoso

[Contoso.NTamd64]

; ...
[Strings]
Mfg = "Contoso, Ltd."

W następnym przykładzie pokazano część sekcji Producent typową dla inf dla instalatora specyficznego dla klasy urządzenia:

[Manufacturer]
%CONTOSO%=Contoso_Section,NTamd64
; several entries omitted here for brevity
%FABRIKAM%=Fabrikam_Section,NTamd64
%ADATUM%=Adatum_Section,NTamd64

W poniższym przykładzie przedstawiono sekcję Producent specyficzną dla platform x86, Windows XP i nowszych:

[Manufacturer]
%foo%=foosec,NTx86.5.1

[foosec.NTx86.5.1]

W poniższym przykładzie przedstawiono sekcję Producent specyficzną dla platform x64, kompilacji systemu Windows 10 14393 i nowszych:

[Manufacturer]
%foo%=foosec,NTamd64.10.0...14393

[foosec.NTamd64.10.0...14393]

W poniższych dwóch przykładach pokazano szkieletowe pliki INF z różnymi sekcjami modeli INF specyficznych dla systemu operacyjnego:

Przykład 1:

[Manufacturer]
%MyName% = MyName,NTx86.5.1
.
[MyName]
%MyDev% = InstallA,hwid
.
[MyName.NTx86.5.1]
%MyDev% = InstallB,hwid
.
[InstallA]   ; Windows 2000 
.
.
[InstallB]   ; Windows XP and later, x86 only
.

Przykład 2:

[Manufacturer]
%MyName% = MyName,NTx86.6.0,NTx86.5.1,
.
[MyName.NTx86.6.0] ; Empty section, so this INF does not support
.                  ; NT 6.0 and later.
.
[MyName.NTx86.5.1] ; Used for NT 5.1 and later
.                  ; (but not NT 6.0 and later due to the NTx86.6.0 entry)
%MyDev% = InstallB,hwid
.
[MyName]           ; Empty section, so this INF does not support
.                  ; Win2000
.

Przykład 3:

[Manufacturer]
%MyMfg% = MyMfg, NTamd64.6.1, NTamd64.10.0, NTamd64.10.0...14310
.
[MyMfg.NTamd64.6.1]          ; Used for Windows 7 and later
.                            ; (but not for Windows 10 and later due to the NT.10.0 entry)
.
[MyMfg.NTamd64.10.0]         ; Used for Windows 10
.                            ; (but not for Windows 10 build 14393 and later due to the NT.10.0...14393 entry)
.
[MyMfg.NTamd64.10.0...14393] ; Used for Windows 10 build 14393 and later
.
.

Uwaga / Notatka

Podczas określania wielu targetOSVersions ciągi je razem w jednym wpisie, jak pokazano w tym przykładzie. Nie należy reprezentować każdego obiektu docelowego jako osobnego wpisu.

Zobacz także

Łączenie rozszerzeń platformy z wersjami systemu operacyjnego

Modele

ciągi