Condividi tramite


Sezione PRODUTTORE INF

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

[Manufacturer]

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

Voci

identificatore produttore
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 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:

nome produttore
Identifica il produttore dei dispositivi. InF deve contenere anche una sezione INF Models corrispondente dello 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 definire i 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 cui possono essere usate diverse sezioni di 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 , vedere la sezione Osservazioni seguenti e informazioni correlate nell'esempio 3 seguente.

Importante

A partire da Windows Server 2003 SP1, i file INF devono decorare le voci dei nomi dei modelli-sezione nella sezione INF Manufacturer, nonché i nomi di sezione INF Models 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.

Commenti

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 voce singola 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 della pagina di riferimento per la sezione Stringhe INF.

Se un file INF specifica una o più voci nel formato nome produttore , ogni voce specifica in modo implicito il nome della sezione Modelli corrispondente altrove in INF.

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

Le voci nome sezione modelli nella sezione Produttore possono essere decorate per specificare le versioni del sistema operativo di destinazione. È possibile specificare diverse sezioni 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 per 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 versioni 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 nei nomi delle sezioni modelli INF per le versioni del sistema operativo di destinazione non x86. L'architettura è facoltativa nei nomi delle sezioni 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 tra versioni specifiche di Windows 10 e 11 in un file INF, è necessario usare BuildNumber (vedere di seguito).

Versione di 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
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
Numero che rappresenta il numero di versione secondaria del sistema operativo. La tabella seguente definisce la versione secondaria per il sistema operativo Windows.

Versione di 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
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

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

0x0000001 (VER_NT_WORKSTATION )

0x0000002 (VER_NT_DOMAIN_CONTROLLER )

0x0000003 (VER_NT_SERVER )

Se viene specificato un tipo di prodotto, il file INF viene usato 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 usato solo se il sistema operativo corrisponde a tutti i pacchetti di prodotti specificati. Se INF supporta più combinazioni di suite 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 compilazione sia relativo a una versione principale/secondaria del sistema operativo specifica solo e potrebbe essere reimpostato per una versione principale/secondaria del sistema operativo futuro.

Qualsiasi numero di compilazione 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 compilazione 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 fornito il numero di compilazione, la versione del sistema operativo e BuildNumber della decorazione TargetOSVersion deve essere maggiore della versione del sistema operativo e del numero di compilazione dell'Windows 10 build 14310 in cui è stata introdotta prima questa decorazione. Le versioni precedenti del sistema operativo senza queste modifiche (ad esempio, Windows 10 build 10240) non analizzano le 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 compilazione per il sistema operativo Windows.

Versione di Windows Numero di 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 versioni del sistema operativo.

Importante

È consigliabile decorare sempre le voci models-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 in piattaforme hardware basate su x86.

  • [FooMfg.NTamd64]

    Questo nome si applica a tutti i tipi di prodotti e i pacchetti di Windows XP e versioni successive di Windows su 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 [FooMfg.NTamd64]Models .

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 MODELLI INF risultante è [FooMfg.NT.7.8]. Per le versioni precedenti del sistema operativo, ad esempio Windows XP, viene usato [FooMfg.NT].

Selezione dell'installazione della sezione Modelli INF da usare in base alle regole seguenti:

  • Se l'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 che corrispondono alla versione del sistema operativo includono anche le decorazioni del tipo di prodotto e/o della suite di prodotti, Windows seleziona la sezione più simile 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 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 6.0 e successive del sistema operativo basato su x86.

Esempio

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 del 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 illustra 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 INF scheletrici 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 una voce, come illustrato in questo esempio. Non rappresentare ogni destinazione come voce separata.

Vedi anche

Combinazione di estensioni della piattaforma con versioni del sistema operativo

Modelli

Stringhe