Section Fabricant INF

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

[Manufacturer]

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

Entrées

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 manufacturer-identifier 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 manière 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 Inf Strings 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 suivre les règles générales de définition des noms de section. Pour plus d’informations sur ces règles, consultez Règles de syntaxe générales pour les fichiers INF.

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

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

Important

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

Remarques

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 de l’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 la page de référence pour la section Chaînes INF.

Si un fichier INF spécifie une ou plusieurs entrées au format manufacturer-name , chacune de ces entrées spécifie implicitement le nom de la section Modèles correspondante 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 de 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 de modèles unique à l’INF par fabricant.

Les entrées models-section-name dans la section Fabricant peuvent être décorées pour spécifier les versions du système d’exploitation cible. Différentes sections inf models 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 Inf Models sont utilisées. Si aucune version n’est spécifiée, Windows utilise une section Modèles spécifiée pour toutes les versions de tous les systèmes d’exploitation.

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

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

À compter de Windows 10, version 1607 (build 14310 et ultérieures), 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 toutes basées 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 Architecture n’est pas spécifiée, la section Modèles INF associée 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 noms des sections Modèles INF pour les versions de système d’exploitation cible non x86. L’architecture est facultative dans les noms de section Modèles INF pour les versions de système d’exploitation cible x86, mais elle 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.

Notes

Pour faire la différence entre des versions Windows 10 spécifiques et 11 dans un fichier INF, vous devez utiliser BuildNumber (voir ci-dessous).

Version de Windows Version majeure
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 mineure
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 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 de 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 sont les 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 n’est utilisé que 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 de 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 spécifique du système d’exploitation uniquement, et peut être réinitialisé pour une version ultérieure du système d’exploitation majeur/secondaire.

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 doivent être supérieurs à la version du système d’exploitation et au numéro de build du 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 le système d’exploitation de considérer la décoration valide du tout.

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 des versions de système d’exploitation.

Important

Nous vous recommandons vivement de toujours décorer les entrées models-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 d’utiliser . Extension de plateforme NT et utilisez . NTx86 à la place.

Si votre INF contient des entrées de section Fabricant avec des décorations, il 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 de modèles INF portant les noms suivants :

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

    Ce nom s’applique à la suite Data Center de Windows XP et aux 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 Inf Models 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 Data Center, Windows sélectionne le [FooMfg.NTx86.... 0x80]Section 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 des versions de 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 d’autres exemples de décorations TargetOSVersion :

  • %FooCorp% = FooMfg, NTx86

    Dans cet exemple, le nom de section Inf Models résultant est [FooMfg.NTx86] et s’applique à toute version x86 du système d’exploitation (Windows XP ou version ultérieure).

  • %FooCorp% = FooMfg, NT.7.8

    Dans cet exemple, pour les versions 7.8 et ultérieures du système d’exploitation, le nom de section Inf Models résultant est [FooMfg.NT.7.8]. Pour les versions antérieures du système d’exploitation, telles que Windows XP, [FooMfg.NT] est utilisé.

La sélection par le programme d’installation de la section Inf Models à utiliser est basée sur les règles suivantes :

  • Si l’inf contient des sections de 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 des 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 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 Data Center, 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 Inf Models 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, un type de produit ou une suite spécifique, 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 de système d’exploitation x86 6.0 et ultérieures.

Exemples

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

[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 à la 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 ultérieures :

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

[foosec.NTamd64.10.0...14393]

Les deux exemples suivants montrent des fichiers INF squelettiques avec diverses sections de 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
.
.

Notes

Lorsque vous spécifiez plusieurs TargetOSVersions, chaînez-les ensemble dans une seule entrée, comme indiqué dans cet exemple. Ne représentez pas chaque cible sous la forme d’une entrée distincte.

Voir aussi

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

Modèles

Chaînes