Section Fabricant INF

La section Fabricant identifie le fabricant d’un ou plusieurs appareils pouvant être installés à l’aide du fichier INF.

[Manufacturer]

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

Entries

manufacturer-identifier
Identifie de manière unique un fabricant et une section INF qui contient des informations qui identifient les modèles d’appareil d’un fabricant. Chaque entrée d’identificateur de fabricant doit exister sur une ligne distincte et utiliser le format suivant :

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

Ces entrées sont définies comme suit :

manufacturer-name
Identifie le fabricant des appareils. L’inf doit également contenir une section inf models correspondante du même nom. La longueur maximale du nom d’un fabricant, en caractères, est LINE_LEN. (Une entrée spécifiée de cette façon ne peut pas être localisée.)

strkey
Spécifie un jeton unique dans le fichier INF qui représente le nom d’un fabricant. Chaque jeton %strkey% de ce type doit être défini dans une section Chaînes INF du fichier INF.

models-section-name
Spécifie un nom défini par l’enregistreur INF pour la section Modèles INF par fabricant dans le fichier INF. Cette valeur doit être unique dans le fichier INF et doit respecter les règles générales de définition des noms de section. Pour plus d'informations sur ces règles, voir Règles générales de syntaxe pour les fichiers INF.

TargetOSVersion
Spécifie une ou plusieurs versions du système d’exploitation cible avec lesquelles différentes sections de modèles INF peuvent être utilisées. Windows choisit la section Modèles INF qui correspond le plus étroitement à la version du système d’exploitation sur laquelle elle s’exécute.

Pour obtenir une description de la décoration TargetOSVersion, consultez la section Remarques suivantes et les informations connexes dans l’exemple 3 ci-dessous.

Important

À compter de Windows Server 2003 SP1, les fichiers INF doivent décorer les entrées model-section-name dans la section Fabricant INF, ainsi que les noms de section modèles INF associés, pour les versions non x86 du système d’exploitation cible. Ces extensions de plateforme ne sont pas requises dans les fichiers INF pour les versions du système d’exploitation cible x86, mais sont recommandées.

Notes

Tout fichier INF qui installe un ou plusieurs appareils doit avoir une section Fabricant . Un fichier INF fourni par IHV/OEM spécifie généralement une seule entrée dans cette section. Si plusieurs entrées sont spécifiées, chaque entrée doit se trouver sur une ligne distincte du inf.

L’utilisation d’une entrée %strkey%=models-section-name simplifie la localisation du fichier INF pour le marché international, comme décrit dans Création de fichiers INF internationaux et de la page de référence de la section Chaînes INF.

Si un fichier INF spécifie une ou plusieurs entrées au format nom du fabricant, chacune de ces entrées spécifie implicitement le nom de la section Modèles correspondants ailleurs dans l’INF.

Vous pouvez considérer la section Fabricant de chaque fichier INF fourni par le système comme une table des matières, car cette section configure l’installation des modèles d’appareil de chaque fabricant pour une classe d’installation d’appareil. Chaque entrée dans la section Fabricant d’un fichier INF spécifie à la fois un jeton %strkey% facilement localisable pour le nom d’un fabricant et un nom de section Modèles unique à l’INF par fabricant.

Les entrées model-section-name dans la section Fabricant peuvent être décorées pour spécifier les versions cibles du système d’exploitation. Différentes sections modèles INF peuvent être spécifiées pour différentes versions du système d’exploitation. Les versions spécifiées indiquent les versions du système d’exploitation avec lesquelles les sections modèles INF sont utilisées. Si aucune version n’est spécifiée, Windows utilise une section Modèles spécifiés pour toutes les versions de tous les systèmes d’exploitation.

Pour Windows XP vers Windows 10, version 1511, le format de décoration TargetOSVersion est le suivant :

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

À compter de Windows 10, version 1607 (build 14310 et ultérieure), le format de la décoration TargetOSVersion est le suivant :

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

Chaque champ est défini comme suit :

NT
Spécifie que le système d’exploitation cible est basé sur NT. Windows 2000 et versions ultérieures de Windows sont tous basés sur NT.

Architecture
Identifie la plateforme matérielle. S’il est spécifié, il doit s’agir de x86, ia64, amd64, arm ou arm64.

Avant Windows Server 2003 SP1, si l’architecture n’est pas spécifiée, la section Modèles INF associés peut être utilisée avec n’importe quelle plateforme matérielle.

À compter de Windows Server 2003 SP1, l’architecture doit être spécifiée dans les sections Modèles INF pour les versions non x86 du système d’exploitation cible. L’architecture est facultative dans les noms de section Modèles INF pour les versions du système d’exploitation cible x86, mais est recommandée.

OSMajorVersion
Nombre qui représente le numéro de version principale du système d’exploitation. Le tableau suivant définit la version principale du système d’exploitation Windows.

Remarque

Pour différencier les versions spécifiques de Windows 10 et 11 dans un fichier INF, vous devez utiliser BuildNumber (voir ci-dessous).

Version de Windows Version principale
Windows 11 (toutes les versions) 10
Windows Server 2022 10
Windows Server 2019 10
Windows Server 2016 10
Windows 10 (toutes les versions) 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
Nombre qui représente le numéro de version mineure du système d’exploitation. Le tableau suivant définit la version mineure du système d’exploitation Windows.

Version de Windows Version secondaire
Windows 11 (toutes les versions) 0
Windows Server 2022 0
Windows Server 2019 0
Windows Server 2016 0
Windows 10 (toutes les versions) 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
Nombre qui représente l’un des indicateurs de VER_NT_xxxx définis dans Winnt.h, par exemple :

0x0000001 (VER_NT_WORKSTATION)

0x0000002 (VER_NT_DOMAIN_CONTROLLER)

0x0000003 (VER_NT_SERVER)

Si un type de produit est spécifié, le fichier INF est utilisé uniquement si le système d’exploitation correspond au type de produit spécifié. Si l’inf prend en charge plusieurs types de produits pour une seule version du système d’exploitation, plusieurs entrées TargetOSVersion sont requises.

SuiteMask
Nombre représentant une combinaison d’un ou plusieurs indicateurs de VER_SUITE_xxxx définis dans Winnt.h. Ces indicateurs incluent les éléments suivants :

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)

Si une ou plusieurs valeurs de masque de suite sont spécifiées, l’inf est utilisé uniquement si le système d’exploitation correspond à toutes les suites de produits spécifiées. Si l’inf prend en charge plusieurs combinaisons de suite de produits pour une seule version du système d’exploitation, plusieurs entrées TargetOSVersion sont requises.

BuildNumber
Nombre qui représente le numéro de build minimal du système d’exploitation de la version Windows à laquelle la section s’applique, à partir de la build 14310 ou ultérieure.

Le numéro de build est supposé être relatif à une version principale/mineure du système d’exploitation spécifique uniquement, et peut être réinitialisé pour une version ultérieure du système d’exploitation majeure/mineure.

Tout numéro de build spécifié par la décoration TargetOSVersion est évalué uniquement lorsque la version principale/mineure du système d’exploitation de TargetOSVersion correspond exactement à la version actuelle du système d’exploitation (ou AltPlatformInfo).  Si la version actuelle du système d’exploitation est supérieure à la version du système d’exploitation spécifiée par la décoration TargetOSVersion (OSMajorVersion,OSMinorVersion), la section est considérée comme applicable, quel que soit le numéro de build spécifié. De même, si la version actuelle du système d’exploitation est inférieure à la version du système d’exploitation spécifiée par la décoration TargetOSVersion , la section n’est pas applicable.

Si le numéro de build est fourni, la version du système d’exploitation et buildNumber de la décoration TargetOSVersion doit être supérieure à la version du système d’exploitation et au numéro de build de Windows 10 build 14310 où cette décoration a été introduite pour la première fois. Les versions antérieures du système d’exploitation sans ces modifications (par exemple, Windows 10 build 10240) n’analysent pas les décorations inconnues, de sorte qu’une tentative de cibler ces versions antérieures empêchera réellement le système d’exploitation d’envisager la décoration valide.

Le tableau suivant définit le numéro de build du système d’exploitation Windows.

Version de Windows Numéro de build
Windows 11 version 23H2 22631
Windows 11 version 22H2 22621
Windows 11 version 21H2 22000
Windows Server 2022 20348
Windows 10 version 22H2 19045
Windows 10, version 21H2 19044
Windows 10, version 21H1 19043
Windows 10, version 20H2 19042
Windows 10 version 2004 19041
Windows 10 version 1909 18363
Windows 10 version 1903 18362
Windows Server 2019 17763
Windows 10 version 1809 17763
Windows 10 version 1803 17134
Windows 10 version 1709 16299
Windows 10 version 1703 15063
Windows Server 2016 14393
Windows 10 version 1607 14393

Pour plus d’informations sur la décoration TargetOSVersion , consultez Combinaison d’extensions de plateforme avec les versions du système d’exploitation.

Important

Nous vous recommandons vivement de décorer toujours les entrées model-section-name dans les sections Fabricant et Modèles avec des extensions de plateforme pour les systèmes d’exploitation cibles de Windows XP ou versions ultérieures de Windows. Pour les plateformes matérielles x86, vous devez éviter l’utilisation du . Extension de plateforme NT et utilisation . NTx86 à la place.

Si votre INF contient des entrées de section Fabricant avec des décorations, elle doit également inclure des sections modèles INF avec des noms qui correspondent aux décorations du système d’exploitation. Par exemple, si un inf contient la section Fabricant suivante :

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

Ensuite, l’INF doit également contenir des sections modèles INF avec les noms suivants :

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

    Ce nom s’applique à la suite Data Center de Windows XP et versions ultérieures de Windows sur les plateformes matérielles x86.

  • [FooMfg.NTamd64]

    Ce nom s’applique à tous les types de produits et suites de Windows XP et versions ultérieures de Windows sur les plateformes matérielles x64.

Pendant l’installation, Windows sélectionne une section Modèles INF de la manière suivante :

  1. Si Windows s’exécute dans une version x86 du système d’exploitation (Windows XP ou versions ultérieures) qui inclut la suite de produits du Centre de données, Windows sélectionne le [FooMfg.NTx86.... section 0x80] Modèles.

  2. Si Windows s’exécute dans une version x64 du système d’exploitation (Windows XP ou versions ultérieures) pour n’importe quelle suite de produits, Windows sélectionne la section [FooMfg.NTamd64] Models.

Si l’INF est destiné à être utilisé avec les versions du système d’exploitation antérieures à Windows XP, il doit également contenir une section Modèles non décorées nommée [FooMfg].

Si un INF prend en charge plusieurs fabricants, ces règles doivent être suivies pour chaque fabricant.

Voici des exemples supplémentaires de décorations TargetOSVersion :

  • %FooCorp% = FooMfg, NTx86

    Dans cet exemple, le nom de la section Modèles INF résultants est [FooMfg.NTx86], et s’applique à n’importe quelle version x86 du système d’exploitation (Windows XP ou version ultérieure).

  • %FooCorp% = FooMfg, NT.7.8

    Dans cet exemple, pour la version 7.8 et ultérieure du système d’exploitation, le nom de la section Modèles INF résultants est [FooMfg.NT.7.8]. Pour les versions antérieures du système d’exploitation comme Windows XP, [FooMfg.NT] est utilisé.

La sélection de la section Modèles INF à utiliser est basée sur les règles suivantes :

  • Si l’inf contient des sections modèles INF pour plusieurs numéros de version de système d’exploitation majeurs ou secondaires, Windows utilise la section avec les numéros de version les plus élevés qui ne sont pas supérieurs à la version du système d’exploitation sur laquelle l’installation a lieu.

  • Si les sections Modèles INF qui correspondent à la version du système d’exploitation incluent également des décorations de type de produit et/ou de suite de produits, Windows sélectionne la section qui correspond le plus étroitement au système d’exploitation en cours d’exécution.

Supposons, par exemple, que Windows s’exécute sur Windows XP (version 5.1), sans la suite de produits du Centre de données, et qu’il trouve l’entrée suivante dans une section Fabricant :

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

Dans ce cas, Windows recherche une section modèles INF nommée [FooMfg.NT.5]. Windows utilise également la section [FooMfg.NT.5] si elle s’exécute sur une version datacenter de Windows XP, car un numéro de version spécifique est prioritaire sur le type de produit et le masque de suite.

Si vous souhaitez qu’un INF exclue explicitement une version de système d’exploitation spécifique, un type de produit ou une suite, créez une section modèles INF vide. Par exemple, une section vide nommée [FooMfg.NTx86.6.0] interdit l’installation sur les versions 6.0 et ultérieures du système d’exploitation x86.

Exemples

Cet exemple montre une section Fabricant typique d’un INF pour un IHV unique.

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

[Contoso.NTamd64]

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

L’exemple suivant montre une partie d’une section Fabricant typique d’un INF pour un programme d’installation spécifique à une classe d’appareil :

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

L’exemple suivant montre une section Fabricant spécifique aux plateformes x86, Windows XP et versions ultérieures :

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

[foosec.NTx86.5.1]

L’exemple suivant montre une section Fabricant spécifique aux plateformes x64, Windows 10 build 14393 et versions ultérieures :

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

[foosec.NTamd64.10.0...14393]

Les deux exemples suivants montrent des fichiers INF squelettes avec diverses sections modèles INF spécifiques au système d’exploitation :

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

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

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

Remarque

Lorsque vous spécifiez plusieurs TargetOSVersions, chaînez-les ensemble dans une entrée, comme indiqué dans cet exemple. Ne représentez pas chaque cible en tant qu’entrée distincte.

Voir aussi

Combinaison d’extensions de plateforme avec des versions du système d’exploitation

Modèles

Chaînes