Condividi tramite


Sezione Produttore INF

La sezione Manufacturer identifica il produttore di uno o più dispositivi che possono essere installati usando il file INF.

[Manufacturer]

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

whse.

manufacturer-identifier
Identifica in modo univoco un produttore e una sezione INF che contiene informazioni che identificano i modelli di dispositivo di un produttore. Ogni voce dell'identificatore del produttore deve esistere in una riga separata e usare il formato seguente:

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

Queste voci sono definite come segue:

manufacturer-name
Identifica il produttore dei dispositivi. L'INF deve contenere anche una sezione INF Models corrispondente con lo stesso nome. La lunghezza massima del nome di un produttore, in caratteri, è LINE_LEN. Non è possibile localizzare una voce specificata in questo modo.

strkey
Specifica un token, univoco all'interno del file INF che rappresenta il nome di un produttore. Ogni token %strkey% di questo tipo deve essere definito in una sezione stringhe INF del file INF.

models-section-name
Specifica un nome definito dal writer INF per la sezione MODELLI INF per produttore all'interno del file INF. Questo valore deve essere univoco all'interno del file INF e deve seguire le regole generali per la definizione dei nomi di sezione. Per altre informazioni su queste regole, vedere Regole di sintassi generali per i file INF.

TargetOSVersion
Specifica una o più versioni del sistema operativo di destinazione con le quali è possibile usare varie sezioni dei modelli INF. Windows sceglie la sezione Modelli INF che corrisponde più strettamente alla versione del sistema operativo in cui è in esecuzione.

Per una descrizione della decorazione TargetOSVersion, vedi la sezione Osservazioni seguenti e le informazioni correlate nell'esempio 3 riportato di seguito.

Importante

A partire da Windows Server 2003 SP1, i file INF devono decorare le voci models-section-name nella sezione PRODUTTORE INF, nonché i nomi delle sezioni dei modelli INF associati, per le versioni del sistema operativo di destinazione non x86. Queste estensioni della piattaforma non sono necessarie nei file INF per le versioni del sistema operativo di destinazione basate su x86, ma sono consigliate.

Osservazioni:

Qualsiasi file INF che installa uno o più dispositivi deve avere una sezione Produttore . Un file INF fornito da IHV/OEM specifica in genere solo una singola voce in questa sezione. Se vengono specificate più voci, ogni voce deve trovarsi in una riga separata dell'INF.

L'uso di una voce %strkey%=models-section-name semplifica la localizzazione del file INF per il mercato internazionale, come descritto in Creazione di file INF internazionali e la pagina di riferimento per la sezione Stringhe INF.

Se un file INF specifica una o più voci nel formato manufacturer-name, ognuna di queste voci specifica in modo implicito il nome della sezione Models corrispondente altrove nell'INF.

È possibile considerare la sezione Produttore di ogni file INF fornita dal sistema come sommario, perché in questa sezione viene configurata l'installazione dei modelli di dispositivo di ogni produttore per una classe di configurazione del dispositivo del dispositivo. Ogni voce nella sezione Manufacturer di un file INF specifica sia un token %strkey facilmente localizzabile per il nome di un produttore che un nome di sezione Modelli per produttore univoco-to-the-INF per produttore.

Le voci models-section-name nella sezione Manufacturer possono essere decorate per specificare le versioni del sistema operativo di destinazione. È possibile specificare diverse sezioni dei modelli INF per versioni diverse del sistema operativo. Le versioni specificate indicano le versioni del sistema operativo con cui vengono usate le sezioni MODELLI INF. Se non vengono specificate versioni, Windows usa una sezione Modelli specificata per tutte le versioni di tutti i sistemi operativi.

Per Windows XP a Windows 10 versione 1511, il formato della decorazione TargetOSVersion è il seguente:

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

A partire da Windows 10, versione 1607 (Build 14310 e successive), il formato della decorazione TargetOSVersion è il seguente:

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

Ogni campo è definito come segue:

NT
Specifica che il sistema operativo di destinazione è basato su NT. Windows 2000 e versioni successive di Windows sono tutti basati su NT.

Architettura
Identifica la piattaforma hardware. Se specificato, deve essere x86, ia64, amd64, arm o arm64.

Prima di Windows Server 2003 SP1, se l'architettura non è specificata, la sezione Modelli INF associati può essere usata con qualsiasi piattaforma hardware.

A partire da Windows Server 2003 SP1, l'architettura deve essere specificata nelle sezioni modelli INF per le versioni del sistema operativo di destinazione non x86. L'architettura è facoltativa nei nomi delle sezioni dei modelli INF per le versioni del sistema operativo di destinazione basate su x86, ma è consigliabile.

OSMajorVersion
Numero che rappresenta il numero di versione principale del sistema operativo. La tabella seguente definisce la versione principale per il sistema operativo Windows.

Nota

Per distinguere le versioni specifiche di Windows 10 e 11 in un file INF, devi usare BuildNumber (vedi di seguito).

Versione Windows Versione principale
Windows 11 (tutte le versioni) 10
Windows Server 2022 10
Windows Server 2019 10
Windows Server 2016 10
Windows 10 (tutte le versioni) 10
R2 per Windows Server 2012 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
Numero che rappresenta il numero di versione secondaria del sistema operativo. La tabella seguente definisce la versione secondaria per il sistema operativo Windows.

Versione Windows Versione secondaria
Windows 11 (tutte le versioni) 0
Windows Server 2022 0
Windows Server 2019 0
Windows Server 2016 0
Windows 10 (tutte le versioni) 0
R2 per Windows Server 2012 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

ProductType
Numero che rappresenta uno dei flag VER_NT_xxxx definiti in Winnt.h, ad esempio:

0x0000001 (VER_NT_WORKSTATION)

0x0000002 (VER_NT_DOMAIN_CONTROLLER)

0x0000003 (VER_NT_SERVER)

Se viene specificato un tipo di prodotto, il file INF viene utilizzato solo se il sistema operativo corrisponde al tipo di prodotto specificato. Se INF supporta più tipi di prodotto per una singola versione del sistema operativo, sono necessarie più voci TargetOSVersion .

SuiteMask
Numero che rappresenta una combinazione di uno o più flag di VER_SUITE_xxxx definiti in Winnt.h. Questi flag includono quanto segue:

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)

Se vengono specificati uno o più valori di maschera suite, l'INF viene utilizzato solo se il sistema operativo corrisponde a tutte le suite di prodotti specificate. Se INF supporta più combinazioni di prodotti per una singola versione del sistema operativo, sono necessarie più voci TargetOSVersion .

BuildNumber
Numero che rappresenta il numero di build minimo del sistema operativo della versione di Windows a cui è applicabile la sezione, a partire dalla build 14310 o successiva.

Si presuppone che il numero di build sia relativo solo a una versione principale/secondaria specifica del sistema operativo e che possa essere reimpostato per una versione principale/secondaria futura del sistema operativo.

Qualsiasi numero di build specificato dalla decorazione TargetOSVersion viene valutato solo quando la versione principale/secondaria del sistema operativo di TargetOSVersion corrisponde esattamente alla versione corrente del sistema operativo (o AltPlatformInfo).  Se la versione corrente del sistema operativo è maggiore della versione del sistema operativo specificata dalla decorazione TargetOSVersion (OSMajorVersion,OSMinorVersion), la sezione viene considerata applicabile indipendentemente dal numero di build specificato. Analogamente, se la versione corrente del sistema operativo è minore della versione del sistema operativo specificata dalla decorazione TargetOSVersion , la sezione non è applicabile.

Se viene specificato il numero di build, la versione del sistema operativo e BuildNumber della decorazione TargetOSVersion deve essere maggiore della versione del sistema operativo e del numero di build di Windows 10 build 14310 in cui è stata introdotta questa decorazione. Le versioni precedenti del sistema operativo senza queste modifiche (ad esempio, Windows 10 build 10240) non analizzeranno decorazioni sconosciute, quindi un tentativo di destinazione di queste build precedenti impedirà effettivamente che il sistema operativo consideri la decorazione valida.

La tabella seguente definisce il numero di build per il sistema operativo Windows.

Versione Windows Numero build
Windows 11 versione 23H2 22631
Windows 11 versione 22H2 22621
Windows 11 versione 21H2 22000
Windows Server 2022 20348
Windows 10 versione 22H2 19045
Windows 10 versione 21H2 19044
Windows 10 versione 21H1 19043
Windows 10 versione 20H2 19042
Windows 10 versione 2004 19041
Windows 10 versione 1909 18363
Windows 10 versione 1903 18362
Windows Server 2019 17763
Windows 10 versione 1809 17763
Windows 10 versione 1803 17134
Windows 10 versione 1709 16299
Windows 10 versione 1703 15063
Windows Server 2016 14393
Windows 10 versione 1607 14393

Per altre informazioni sulla decorazione TargetOSVersion , vedere Combinazione di estensioni della piattaforma con le versioni del sistema operativo.

Importante

È consigliabile decorare sempre le voci model-section-name nelle sezioni Manufacturer and Models con estensioni della piattaforma per i sistemi operativi di destinazione di Windows XP o versioni successive di Windows. Per le piattaforme hardware basate su x86, è consigliabile evitare l'uso di . Estensione della piattaforma NT e usare . NTx86 .

Se l'INF contiene voci di sezione Manufacturer con decorazioni, deve includere anche sezioni INF Models con nomi che corrispondono alle decorazioni del sistema operativo. Ad esempio, se un INF contiene la sezione Manufacturer seguente:

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

L'INF deve quindi contenere anche sezioni INF Models con i nomi seguenti:

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

    Questo nome si applica alla suite Data Center di Windows XP e alle versioni successive di Windows su piattaforme hardware basate su x86.

  • [FooMfg.NTamd64]

    Questo nome si applica a tutti i tipi di prodotto e le suite di Windows XP e versioni successive di Windows in piattaforme hardware basate su x64.

Durante l'installazione, Windows seleziona una sezione Modelli INF nel modo seguente:

  1. Se Windows è in esecuzione in una versione basata su x86 del sistema operativo (Windows XP o versioni successive) che include la suite di prodotti Data Center, Windows seleziona [FooMfg.NTx86.... 0x80] Sezione Modelli.

  2. Se Windows è in esecuzione in una versione basata su x64 del sistema operativo (Windows XP o versioni successive) per qualsiasi famiglia di prodotti, Windows seleziona la sezione Modelli [FooMfg.NTamd64].

Se l'INF è destinato all'uso con versioni del sistema operativo precedenti a Windows XP, deve contenere anche una sezione modelli nondecorati denominata [FooMfg].

Se un INF supporta più produttori, queste regole devono essere seguite per ogni produttore.

Di seguito sono riportati altri esempi di decorazioni TargetOSVersion :

  • %FooCorp% = FooMfg, NTx86

    In questo esempio, il nome della sezione MODELLI INF risultante è [FooMfg.NTx86] ed è applicabile per qualsiasi versione x86 del sistema operativo (Windows XP o versione successiva).

  • %FooCorp% = FooMfg, NT.7.8

    In questo esempio, per la versione 7.8 e successive del sistema operativo, il nome della sezione dei modelli INF risultante è [FooMfg.NT.7.8]. Per le versioni precedenti del sistema operativo, ad esempio Windows XP, viene usato [FooMfg.NT].

Selezione del programma di installazione della sezione Modelli INF da usare in base alle regole seguenti:

  • Se INF contiene sezioni INF Models per diversi numeri di versione principale o secondaria del sistema operativo, Windows usa la sezione con i numeri di versione più alti che non sono superiori alla versione del sistema operativo in cui viene eseguita l'installazione.

  • Se le sezioni MODELLI INF corrispondenti alla versione del sistema operativo includono anche il tipo di prodotto e/o le decorazioni della suite di prodotti, Windows seleziona la sezione che corrisponde più strettamente al sistema operativo in esecuzione.

Si supponga, ad esempio, che Windows sia in esecuzione in Windows XP (versione 5.1), senza la suite di prodotti Data Center e trovi la voce seguente in una sezione Manufacturer :

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

In questo caso, Windows cerca una sezione INF Models denominata [FooMfg.NT.5]. Windows usa anche la sezione [FooMfg.NT.5] se è in esecuzione in una versione Datacenter di Windows XP, perché un numero di versione specifico ha la precedenza sul tipo di prodotto e sulla maschera della suite.

Se si vuole che un INF escluda in modo esplicito una versione specifica del sistema operativo, del tipo di prodotto o della suite, creare una sezione vuota dei modelli INF. Ad esempio, una sezione vuota denominata [FooMfg.NTx86.6.0] impedisce l'installazione nelle versioni del sistema operativo basate su x86 6.0 e successive.

Esempi

Questo esempio mostra una sezione Manufacturer tipica di un INF per un singolo IHV.

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

[Contoso.NTamd64]

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

L'esempio seguente mostra parte di una sezione Manufacturer tipica di un INF per un programma di installazione specifico della classe di dispositivo:

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

L'esempio seguente mostra una sezione Manufacturer specifica per le piattaforme x86, Windows XP e versioni successive:

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

[foosec.NTx86.5.1]

L'esempio seguente mostra una sezione Manufacturer specifica per le piattaforme x64, Windows 10 build 14393 e versioni successive:

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

[foosec.NTamd64.10.0...14393]

I due esempi seguenti illustrano i file INFkeletal con un'ampia gamma di sezioni INF specifiche del sistema operativo:

Esempio 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
.

Esempio 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
.

Esempio 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
.
.

Nota

Quando si specificano più TargetOSVersions, stringerli insieme in un'unica voce, come illustrato in questo esempio. Non rappresentare ogni destinazione come voce separata.

Vedi anche

Combinazione delle estensioni della piattaforma con le versioni del sistema operativo

Modelli

Stringhe