Compartir a través de


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

Entries

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:

nombre del fabricante
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 de %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 dentro del archivo INF y debe seguir las reglas generales para definir nombres de sección. Para obtener más información sobre estas reglas, consulte Reglas generales de sintaxis 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 más estrechamente con la versión del sistema operativo en la que se ejecuta.

Para obtener una descripción de la decoración TargetOSVersion , vea 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 entradas de nombre de sección de modelos en la sección Fabricante de INF, así como los nombres de sección de modelos INF asociados, para versiones de sistema operativo que no sean de destino 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 Creación de archivos INF internacionales y la página de referencia de la sección Cadenas INF.

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 Modelos correspondiente en otra parte del INF.

Puede pensar en 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% fácilmente localizable para el nombre de un fabricante y un nombre de sección modelos únicos para el INF por fabricante.

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 Windows XP a Windows 10, versión 1511, el formato de la 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.

sistemas
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 asociados 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, debes usar BuildNumber (consulta 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 EL INF admite varios tipos de producto para una sola 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 algunas versiones principales o secundarias específicas del sistema operativo y puede restablecerse para alguna versión secundaria o principal del sistema operativo futura.

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 de la compilación 14310 de Windows 10, donde esta decoración se introdujo por primera vez. Las versiones anteriores del sistema operativo sin estos cambios (por ejemplo, la compilación 10 de Windows 10 10240) no analizarán las decoraciones desconocidas, por lo que un intento de tener como destino 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 22 000
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

Se recomienda encarecidamente decorar siempre las entradas de nombre de sección de modelos 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 modelos INF con nombres que coincidan con las decoraciones del sistema operativo. Por ejemplo, si un INF contiene la siguiente sección Fabricante :

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

A continuación, el INF también debe contener secciones modelos INF 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 Modelos [FooMfg.NTamd64].

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

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

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

  • %FooCorp% = FooMfg, NTx86

    En este ejemplo, el nombre de la sección modelos INF 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 siguientes reglas:

  • Si inf contiene secciones modelos INF para varios números de versión principal o secundaria del sistema operativo, 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 con el sistema operativo en ejecución.

Supongamos, por ejemplo, que Windows se está ejecutando 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.

Si desea que un INF excluya explícitamente una versión específica del sistema operativo, el tipo de producto o el conjunto de aplicaciones, 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 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 las 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 varias TargetOSVersions, encadenelas juntas 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