Sección fabricante de INF

La sección Fabricante identifica el fabricante de uno o varios dispositivos que se pueden instalar mediante el archivo INF.

[Manufacturer]

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

Entradas

manufacturer-identifier
Identifica de forma única un fabricante y una sección INF que contiene información que identifica los modelos de dispositivo de un fabricante. Cada entrada de identificador de fabricante debe existir en una línea independiente y usar el siguiente formato:

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

Estas entradas se definen de la siguiente manera:

manufacturer-name
Identifica el fabricante de los dispositivos. El INF también debe contener una sección de modelos INF correspondiente con el mismo nombre. La longitud máxima del nombre de un fabricante, en caracteres, es LINE_LEN. (No se puede localizar una entrada especificada de esta manera).

strkey
Especifica un token, único dentro del archivo INF que representa el nombre de un fabricante. Cada token %strkey% debe definirse en una sección Cadenas INF del archivo INF.

models-section-name
Especifica un nombre definido por INF-writer para la sección Modelos INF por fabricante dentro del archivo INF. Este valor debe ser único en el archivo INF y debe seguir las reglas generales para definir nombres de sección. Para obtener más información sobre estas reglas, vea Reglas de sintaxis general para archivos INF.

TargetOSVersion
Especifica una o varias versiones del sistema operativo de destino con las que se pueden usar varias secciones de modelos INF. Windows elige la sección Modelos INF que coincide con la versión del sistema operativo en la que se ejecuta.

Para obtener una descripción de la decoración TargetOSVersion , consulta la siguiente sección Comentarios e información relacionada en el ejemplo 3 siguiente.

Importante

A partir de Windows Server 2003 SP1, los archivos INF deben decorar las entradas models-section-name en la sección Fabricante inf, así como los nombres de sección de modelos INF asociados, para las versiones del sistema operativo de destino que no sean x86. Estas extensiones de plataforma no son necesarias en los archivos INF para las versiones del sistema operativo de destino basadas en x86, pero se recomiendan.

Comentarios

Cualquier archivo INF que instale uno o varios dispositivos debe tener una sección Fabricante . Un archivo INF proporcionado por IHV/OEM normalmente especifica solo una entrada en esta sección. Si se especifican varias entradas, cada entrada debe estar en una línea independiente del INF.

El uso de una entrada %strkey%=models-section-name simplifica la localización del archivo INF para el mercado internacional, como se describe en Creating International INF Files and the reference page for the INF Strings section.

Si un archivo INF especifica una o varias entradas en el formato de nombre del fabricante , cada entrada especifica implícitamente el nombre de la sección Models correspondiente en otra parte del INF.

Puede considerar la sección Fabricante de cada archivo INF proporcionado por el sistema como una tabla de contenido, ya que esta sección configura la instalación de los modelos de dispositivo de cada fabricante para una clase de configuración de dispositivo. Cada entrada de la sección Fabricante de un archivo INF especifica un token %strkey% localizable fácilmente para el nombre de un fabricante y un nombre de sección de modelos por fabricante único para el INF.

Las entradas models-section-name de la sección Fabricante se pueden decorar para especificar las versiones del sistema operativo de destino. Se pueden especificar diferentes secciones de modelos INF para diferentes versiones del sistema operativo. Las versiones especificadas indican las versiones del sistema operativo con las que se usan las secciones Modelos INF. Si no se especifica ninguna versión, Windows usa una sección Modelos especificada para todas las versiones de todos los sistemas operativos.

Para que Windows XP Windows 10, versión 1511, el formato de decoración TargetOSVersion es el siguiente:

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

A partir de Windows 10, versión 1607 (compilación 14310 y posteriores), el formato de la decoración TargetOSVersion es el siguiente:

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

Cada campo se define de la siguiente manera:

NT
Especifica que el sistema operativo de destino está basado en NT. Windows 2000 y versiones posteriores de Windows están basados en NT.

Arquitectura
Identifica la plataforma de hardware. Si se especifica, debe ser x86, ia64, amd64, arm o arm64.

Antes de Windows Server 2003 SP1, si no se especifica la arquitectura , la sección modelos INF asociada se puede usar con cualquier plataforma de hardware.

A partir de Windows Server 2003 SP1, la arquitectura debe especificarse en los nombres de secciones modelos INF para las versiones del sistema operativo de destino que no sean x86. La arquitectura es opcional en los nombres de sección modelos INF para las versiones del sistema operativo de destino basadas en x86, pero se recomienda.

OSMajorVersion
Número que representa el número de versión principal del sistema operativo. En la tabla siguiente se define la versión principal del sistema operativo Windows.

Nota

Para diferenciar entre versiones específicas de Windows 10 y 11 en un archivo INF, debe usar BuildNumber (consulte a continuación).

Versión de Windows Versión principal
Windows 11 (todas las versiones) 10
Windows Server 2022 10
Windows Server 2019 10
Windows Server 2016 10
Windows 10 (todas las versiones) 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
Número que representa el número de versión secundaria del sistema operativo. En la tabla siguiente se define la versión secundaria del sistema operativo Windows.

Versión de Windows Versión secundaria
Windows 11 (todas las versiones) 0
Windows Server 2022 0
Windows Server 2019 0
Windows Server 2016 0
Windows 10 (todas las versiones) 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
Número que representa una de las marcas de VER_NT_xxxx definidas en Winnt.h, como las siguientes:

0x0000001 (VER_NT_WORKSTATION)

0x0000002 (VER_NT_DOMAIN_CONTROLLER)

0x0000003 (VER_NT_SERVER)

Si se especifica un tipo de producto, el archivo INF solo se usa si el sistema operativo coincide con el tipo de producto especificado. Si INF admite varios tipos de producto para una única versión del sistema operativo, se requieren varias entradas targetOSVersion .

SuiteMask
Número que representa una combinación de una o varias de las marcas de VER_SUITE_xxxx definidas en Winnt.h. Estas marcas incluyen lo siguiente:

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 se especifican uno o varios valores de máscara de conjunto de aplicaciones, el INF solo se usa si el sistema operativo coincide con todos los conjuntos de productos especificados. Si INF admite varias combinaciones de conjuntos de productos para una sola versión del sistema operativo, se requieren varias entradas targetOSVersion .

BuildNumber
Número que representa el número mínimo de compilación del sistema operativo de la versión de Windows a la que se aplica la sección, a partir de la compilación 14310 o posterior.

Se supone que el número de compilación es relativo a alguna versión principal o secundaria específica del sistema operativo y puede restablecerse para alguna versión principal o secundaria futura del sistema operativo.

Cualquier número de compilación especificado por la decoración TargetOSVersion solo se evalúa cuando la versión principal o secundaria del sistema operativo de TargetOSVersion coincide exactamente con la versión actual del sistema operativo (o AltPlatformInfo).  Si la versión actual del sistema operativo es mayor que la versión del sistema operativo especificada por la decoración TargetOSVersion (OSMajorVersion,OSMinorVersion), la sección se considera aplicable independientemente del número de compilación especificado. Del mismo modo, si la versión actual del sistema operativo es menor que la versión del sistema operativo especificada por la decoración TargetOSVersion , la sección no es aplicable.

Si se proporciona el número de compilación, la versión del sistema operativo y BuildNumber de la decoración TargetOSVersion deben ser mayores que la versión del sistema operativo y el número de compilación del Windows 10 compilación 14310 donde se introdujo esta decoración por primera vez. Las versiones anteriores del sistema operativo sin estos cambios (por ejemplo, Windows 10 compilación 10240) no analizarán decoraciones desconocidas, por lo que un intento de dirigirse a estas compilaciones anteriores impedirá que el sistema operativo considere la decoración válida en absoluto.

En la tabla siguiente se define el número de compilación para el sistema operativo Windows.

Versión de Windows Número de compilación
Windows 11 versión 23H2 22631
Windows 11 version 22H2 22621
Windows 11 version 21H2 22000
Windows Server 2022 20348
Windows 10 versión 22H2 19045
Windows 10, versión 21H2 19044
Windows 10, versión 21H1 19043
Windows 10, versión 20H2 19042
Windows 10 versión 2004 19041
Windows 10 versión 1909 18363
Windows 10 versión 1903 18362
Windows Server 2019 17763
Windows 10 versión 1809 17763
Windows 10, versión 1803 17134
Windows 10 versión 1709 16299
Windows 10 versión 1703 15063
Windows Server 2016 14393
Windows 10, versión 1607 14393

Para obtener más información sobre la decoración TargetOSVersion , vea Combinar extensiones de plataforma con versiones del sistema operativo.

Importante

Le recomendamos encarecidamente que siempre decora las entradas models-section-name en las secciones Fabricante y Modelos con extensiones de plataforma para sistemas operativos de destino de Windows XP o versiones posteriores de Windows. En el caso de las plataformas de hardware basadas en x86, debe evitar el uso de . Extensión de plataforma NT y use . NTx86 en su lugar.

Si el INF contiene entradas de sección Fabricante con decoraciones, también debe incluir secciones INF Models con nombres que coincidan con las decoraciones del sistema operativo. Por ejemplo, si un INF contiene la sección Fabricante siguiente:

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

A continuación, INF también debe contener secciones inf Models con los siguientes nombres:

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

    Este nombre se aplica al conjunto de datos de Windows XP y versiones posteriores de Windows en plataformas de hardware basadas en x86.

  • [FooMfg.NTamd64]

    Este nombre se aplica a todos los tipos de productos y conjuntos de aplicaciones de Windows XP y versiones posteriores de Windows en plataformas de hardware basadas en x64.

Durante la instalación, Windows selecciona una sección Modelos INF de la siguiente manera:

  1. Si Windows se ejecuta en una versión basada en x86 del sistema operativo (Windows XP o versiones posteriores) que incluye el conjunto de productos del Centro de datos, Windows selecciona [ FooMfg.NTx86...... 0x80]Sección Modelos .

  2. Si Windows se ejecuta en una versión basada en x64 del sistema operativo (Windows XP o versiones posteriores) para cualquier conjunto de productos, Windows selecciona la sección [FooMfg.NTamd64]Models .

Si el INF está pensado para su uso con versiones de sistema operativo anteriores a Windows XP, también debe contener una sección modelos no codificados denominada [FooMfg].

Si un INF admite varios fabricantes, se deben seguir estas reglas para cada fabricante.

A continuación se muestran ejemplos adicionales de decoraciones targetOSVersion :

  • %FooCorp% = FooMfg, NTx86

    En este ejemplo, el nombre de la sección Inf Models resultante es [FooMfg.NTx86], y es aplicable a cualquier versión x86 del sistema operativo (Windows XP o posterior).

  • %FooCorp% = FooMfg, NT.7.8

    En este ejemplo, para la versión 7.8 y posteriores del sistema operativo, el nombre de la sección modelos INF resultante es [FooMfg.NT.7.8]. Para versiones anteriores del sistema operativo como Windows XP, se usa [FooMfg.NT].

La selección del programa de instalación de la sección Modelos INF que se va a usar se basa en las reglas siguientes:

  • Si inf contiene secciones modelos INF para varios números de versión del sistema operativo principal o secundario, Windows usa la sección con los números de versión más altos que no son superiores a la versión del sistema operativo en la que se está llevando a cabo la instalación.

  • Si las secciones Modelos INF que coinciden con la versión del sistema operativo también incluyen el tipo de producto o las decoraciones del conjunto de productos, Windows selecciona la sección que coincide más estrechamente con el sistema operativo en ejecución.

Supongamos, por ejemplo, que Windows se ejecuta en Windows XP (versión 5.1), sin el conjunto de productos del Centro de datos y encuentra la siguiente entrada en una sección Fabricante :

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

En este caso, Windows busca una sección modelos INF denominada [FooMfg.NT.5]. Windows también usa la sección [FooMfg.NT.5] si se ejecuta en una versión del centro de datos de Windows XP, ya que un número de versión específico tiene prioridad sobre el tipo de producto y la máscara de conjunto de aplicaciones.

Si desea que un INF excluya explícitamente una versión específica del sistema operativo, el tipo de producto o el conjunto, cree una sección modelos INF vacía. Por ejemplo, una sección vacía denominada [FooMfg.NTx86.6.0] prohíbe la instalación en versiones 6.0 y posteriores del sistema operativo basado en x86.

Ejemplos

En este ejemplo se muestra una sección Fabricante típica de un INF para un único IHV.

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

[Contoso.NTamd64]

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

En el ejemplo siguiente se muestra parte de una sección Fabricante típica de un INF para un instalador específico de clase de dispositivo:

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

En el ejemplo siguiente se muestra una sección Fabricante específica de plataformas x86, Windows XP y versiones posteriores:

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

[foosec.NTx86.5.1]

En el ejemplo siguiente se muestra una sección Fabricante específica de las plataformas x64, Windows 10 compilación 14393 y posteriores:

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

[foosec.NTamd64.10.0...14393]

En los dos ejemplos siguientes se muestran archivos INF esqueléticos con una variedad de secciones de modelos INF específicos del sistema operativo:

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

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

Ejemplo 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

Al especificar varios TargetOSVersions, encadenarlos juntos en una entrada, como se muestra en este ejemplo. No represente cada destino como una entrada independiente.

Consulte también

Combinación de extensiones de plataforma con versiones del sistema operativo

Modelos

Cadenas