다음을 통해 공유


INF 제조업체 섹션

제조업체 섹션에서는 INF 파일을 사용하여 설치할 수 있는 하나 이상의 디바이스 제조업체를 식별합니다.

[Manufacturer]

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

항목

manufacturer-identifier
제조업체의 디바이스 모델을 식별하는 정보가 포함된 제조업체 및 INF 섹션을 고유하게 식별합니다. 각 제조업체 식별자 항목은 별도의 줄에 있어야 하며 다음 형식을 사용해야 합니다.

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

이러한 항목은 다음과 같이 정의됩니다.

manufacturer-name
디바이스 제조업체를 식별합니다. INF에는 동일한 이름의 해당 INF 모델 섹션 도 포함되어야 합니다. 제조업체 이름의 최대 길이(문자)는 LINE_LEN. (이 방식으로 지정된 항목은 지역화할 수 없습니다.)

strkey
제조업체의 이름을 나타내는 INF 파일 내에서 고유한 토큰을 지정합니다. 이러한 각 %strkey% 토큰은 INF 파일의 INF 문자열 섹션에서 정의해야 합니다.

models-section-name
INF 파일 내의 제조업체별 INF 모델 섹션에 대한 INF 작성기 정의 이름을 지정합니다. 이 값은 INF 파일 내에서 고유해야 하며 섹션 이름을 정의하기 위한 일반 규칙을 따라야 합니다. 이러한 규칙에 대한 자세한 내용은 INF 파일에 대한 일반 구문 규칙을 참조하세요.

TargetOSVersion
다양한 INF 모델 섹션을 사용할 수 있는 하나 이상의 대상 운영 체제 버전을 지정합니다. Windows는 실행 중인 운영 체제 버전과 가장 일치하는 INF 모델 섹션을 선택합니다.

TargetOSVersion 장식에 대한 설명은 아래 예제 3의 다음 설명 섹션 및 관련 정보를 참조하세요.

중요

Windows Server 2003 SP1부터 INF 파일은 X86이 아닌 대상 운영 체제 버전에 대해 INF Manufacturer 섹션의 models-section-name 항목과 연결된 INF 모델 섹션 이름을 데코레이트해야 합니다. 이러한 플랫폼 확장은 x86 기반 대상 운영 체제 버전의 INF 파일에서 필요하지 않지만 권장됩니다.

설명

하나 이상의 디바이스를 설치하는 모든 INF 파일에 는 Manufacturer 섹션이 있어야 합니다. IHV/OEM 제공 INF 파일은 일반적으로 이 섹션의 단일 항목만 지정합니다. 여러 항목을 지정하는 경우 각 항목은 INF의 별도 줄에 있어야 합니다.

%strkey%=models-section-name 항목을 사용하면 국제 INF 파일 만들기INF 문자열 섹션에 대한 참조 페이지에 설명된 대로 국제 시장에 대한 INF 파일의 지역화를 간소화할 수 있습니다.

INF 파일이 제조업체 이름 형식으로 하나 이상의 항목을 지정하는 경우 이러한 각 항목은 INF의 다른 곳에서 해당 Models 섹션의 이름을 암시적으로 지정합니다.

이 섹션에서는 디바이스 설정 클래스에 대한 모든 제조업체의 디바이스 모델 설치를 설정하므로 시스템에서 제공하는 각 INF 파일의 Manufacturer 섹션을 목차로 생각할 수 있습니다. INF 파일의 Manufacturer 섹션에 있는 각 항목은 제조업체 이름에 대해 쉽게 지역화할 수 있는 %strkey% 토큰과 제조업체별 고유한 INF 모델 섹션 이름을 모두 지정합니다.

Manufacturer 섹션의 models-section-name 항목을 데코레이트하여 대상 운영 체제 버전을 지정할 수 있습니다. 운영 체제의 다른 버전에 대해 다른 INF 모델 섹션 을 지정할 수 있습니다. 지정된 버전은 INF 모델 섹션이 사용되는 운영 체제 버전을 나타냅니다. 버전이 지정되지 않은 경우 Windows는 모든 운영 체제의 모든 버전에 대해 지정된 모델 섹션을 사용합니다.

Windows XP에서 Windows 10 버전 1511의 경우 TargetOSVersion 장식 형식은 다음과 같습니다.

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

Windows 10 버전 1607(빌드 14310 이상)부터 TargetOSVersion 장식의 형식은 다음과 같습니다.

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

각 필드는 다음과 같이 정의됩니다.

Nt
대상 운영 체제가 NT 기반임을 지정합니다. Windows 2000 이상 버전의 Windows는 모두 NT 기반입니다.

아키텍처
하드웨어 플랫폼을 식별합니다. 지정된 경우 x86, ia64, amd64, arm 또는 arm64여야 합니다.

Windows Server 2003 SP1 이전의 아키텍처 를 지정하지 않은 경우 연결된 INF 모델 섹션을 하드웨어 플랫폼과 함께 사용할 수 있습니다.

Windows Server 2003 SP1부터 아키텍처는 x86이 아닌 대상 운영 체제 버전의 INF 모델 섹션 이름에 지정해야 합니다. 아키텍처는 x86 기반 대상 운영 체제 버전의 INF 모델 섹션 이름에서 선택 사항이지만 권장됩니다.

OSMajorVersion
운영 체제의 주 버전 번호를 나타내는 숫자입니다. 다음 표에서는 Windows 운영 체제의 주 버전을 정의합니다.

참고

INF 파일의 특정 Windows 10 릴리스와 11개 릴리스를 구분하려면 BuildNumber를 사용해야 합니다(아래 참조).

Windows 버전 주 버전
Windows 11(모든 릴리스) 10
Windows Server 2022 10
Windows Server 2019 10
Windows Server 2016 10
Windows 10(모든 릴리스) 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
운영 체제의 부 버전 번호를 나타내는 숫자입니다. 다음 표에서는 Windows 운영 체제의 부 버전을 정의합니다.

Windows 버전 부 버전
Windows 11(모든 릴리스) 0
Windows Server 2022 0
Windows Server 2019 0
Windows Server 2016 0
Windows 10(모든 릴리스) 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
다음과 같이 Winnt.h에 정의된 VER_NT_xxxx 플래그 중 하나를 나타내는 숫자입니다.

0x0000001 (VER_NT_WORKSTATION)

0x0000002 (VER_NT_DOMAIN_CONTROLLER)

0x0000003 (VER_NT_SERVER)

제품 유형을 지정하면 운영 체제가 지정된 제품 유형과 일치하는 경우에만 INF 파일이 사용됩니다. INF가 단일 운영 체제 버전에 대해 여러 제품 유형을 지원하는 경우 여러 TargetOSVersion 항목이 필요합니다.

SuiteMask
Winnt.h에 정의된 하나 이상의 VER_SUITE_xxxx 플래그 조합을 나타내는 숫자입니다. 이러한 플래그는 다음과 같습니다.

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)

하나 이상의 제품군 마스크 값을 지정하면 운영 체제가 지정된 모든 제품 제품군과 일치하는 경우에만 INF가 사용됩니다. INF가 단일 운영 체제 버전에 대해 여러 제품 제품군 조합을 지원하는 경우 여러 TargetOSVersion 항목이 필요합니다.

BuildNumber
빌드 14310 이상부터 섹션을 적용할 수 있는 Windows 릴리스의 최소 OS 빌드 번호를 나타내는 숫자입니다.

빌드 번호는 일부 특정 OS 주/부 버전에만 상대적인 것으로 간주되며 향후 OS 주/부 버전에 대해 다시 설정될 수 있습니다.

TargetOSVersion 데코레이션으로 지정된 빌드 번호는 TARGETOSVersion의 OS 주/부 버전이 현재 OS(또는 AltPlatformInfo) 버전과 정확히 일치하는 경우에만 평가됩니다.  현재 OS 버전이 TargetOSVersion 데코 레이션(OSMajorVersion,OSMinorVersion)에 지정된 OS 버전보다 큰 경우 섹션은 지정된 빌드 번호에 관계없이 적용 가능한 것으로 간주됩니다. 마찬가지로 현재 OS 버전이 TargetOSVersion 장식으로 지정된 OS 버전보다 작으면 섹션을 적용할 수 없습니다.

빌드 번호가 제공되면 TargetOSVersion 장식의 OS 버전 및 BuildNumber가 OS 버전과 이 장식이 처음 도입된 Windows 10 빌드 14310의 빌드 번호보다 커야 합니다. 이러한 변경이 없는 이전 버전의 운영 체제(예: 빌드 10240 Windows 10)는 알 수 없는 장식을 구문 분석하지 않으므로 이러한 이전 빌드를 대상으로 하려는 시도는 OS가 유효한 장식을 전혀 고려하지 못하게 합니다.

다음 표에서는 Windows 운영 체제의 빌드 번호를 정의합니다.

Windows 버전 빌드 번호
Windows 11 버전 23H2 22631
Windows 11 버전 22H2 22621
Windows 11 버전 21H2 22000
Windows Server 2022 20348
Windows 10 버전 22H2 19045
Windows 10 버전 21H2 19044
Windows 10 버전 21H1 19043
Windows 10 버전 20H2 19042
Windows 10 버전 2004 19041
Windows 10 버전 1909 18363
Windows 10 버전 1903 18362
Windows Server 2019 17763
Windows 10 버전 1809 17763
Windows 10 버전 1803 17134
Windows 10 버전 1709 16299
Windows 10 버전 1703 15063
Windows Server 2016 14393
Windows 10 버전 1607 14393

TargetOSVersion 장식에 대한 자세한 내용은 플랫폼 확장과 운영 체제 버전 결합을 참조하세요.

중요

Windows XP 이상 버전의 대상 운영 체제에 대한 플랫폼 확장을 사용하여 제조업체모델 섹션에서 항상 models-section-name 항목을 데코레이트하는 것이 좋습니다. x86 기반 하드웨어 플랫폼의 경우 을 사용하지 않아야 합니다 . NT 플랫폼 확장을 사용하고 를 사용합니다 . 대신 NTx86 .

INF에 장식이 있는 제조업체 섹션 항목이 포함된 경우 운영 체제 장식과 일치하는 이름을 가진 INF 모델 섹션 도 포함해야 합니다. 예를 들어 INF에 다음 Manufacturer 섹션이 포함된 경우:

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

그런 다음 INF에는 다음 이름의 INF 모델 섹션 도 포함되어야 합니다.

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

    이 이름은 x86 기반 하드웨어 플랫폼의 Windows XP 및 이후 버전의 Windows 데이터 센터 제품군에 적용됩니다.

  • [FooMfg.NTamd64]

    이 이름은 x64 기반 하드웨어 플랫폼의 모든 제품 유형 및 Windows XP 이상 버전의 Windows에 적용됩니다.

설치하는 동안 Windows는 다음과 같은 방법으로 INF 모델 섹션 을 선택합니다.

  1. Windows가 데이터 센터 제품 제품군을 포함하는 x86 기반 버전의 운영 체제(Windows XP 이상 버전)에서 실행 중인 경우 Windows는 [FooMfg.NTx86...를 선택합니다. 0x80]모델 섹션입니다.

  2. Windows가 모든 제품 제품군에 대해 x64 기반 버전의 운영 체제(Windows XP 이상 버전)에서 실행되는 경우 Windows는 [FooMfg.NTamd64]모델 섹션을 선택합니다.

INF가 Windows XP 이전의 운영 체제 버전에서 사용하도록 의도된 경우 [FooMfg]라는 비코레이트 모델 섹션도 포함되어야 합니다.

INF에서 여러 제조업체를 지원하는 경우 각 제조업체에 대해 이러한 규칙을 따라야 합니다.

다음은 TargetOSVersion 장식의 추가 예입니다.

  • %FooCorp% = FooMfg, NTx86

    이 예제에서 결과 INF Models 섹션 이름은 [FooMfg.NTx86]이며 모든 x86 버전의 운영 체제(Windows XP 이상)에 적용됩니다.

  • %FooCorp% = FooMfg, NT.7.8

    이 예제에서는 운영 체제 버전 7.8 이상에서 결과 INF 모델 섹션 이름은 [FooMfg.NT.7.8]입니다. Windows XP와 같은 이전 버전의 운영 체제에서는 [FooMfg.NT] 가 사용됩니다.

설치 프로그램에서 사용할 INF 모델 섹션은 다음 규칙에 따라 선택됩니다.

  • INF에 여러 주 또는 부 운영 체제 버전 번호에 대한 INF 모델 섹션 이 포함된 경우 Windows는 설치가 진행되는 운영 체제 버전보다 높지 않은 가장 높은 버전 번호가 있는 섹션을 사용합니다.

  • 운영 체제 버전과 일치하는 INF 모델 섹션에 제품 유형 및/또는 제품 제품군 장식도 포함된 경우 Windows는 실행 중인 운영 체제와 가장 일치하는 섹션을 선택합니다.

예를 들어 Windows가 데이터 센터 제품 제품군 없이 Windows XP(버전 5.1)에서 실행 중이며 제조업체 섹션에서 다음 항목을 찾습니다.

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

이 경우 Windows는 [FooMfg.NT.5]라는 INF 모델 섹션을 찾습니다. 또한 Windows XP의 데이터 센터 버전에서 실행되는 경우 특정 버전 번호가 제품 유형 및 제품군 마스크보다 우선하기 때문에 Windows는 [FooMfg.NT.5] 섹션을 사용합니다.

INF가 특정 운영 체제 버전, 제품 유형 또는 제품군을 명시적으로 제외하려면 빈 INF 모델 섹션을 만듭니다. 예를 들어 [FooMfg.NTx86.6.0] 이라는 빈 섹션은 x86 기반 운영 체제 버전 6.0 이상에서 설치를 금지합니다.

예제

이 예제에서는 단일 IHV에 대한 INF에 일반적인 제조업체 섹션을 보여 주는 예제입니다.

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

[Contoso.NTamd64]

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

다음 예제에서는 디바이스 클래스별 설치 관리자에 대한 INF에 일반적으로 적용되는 제조업체 섹션의 일부를 보여줍니다.

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

다음 예제에서는 x86 플랫폼, Windows XP 이상과 관련된 제조업체 섹션을 보여 줍니다.

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

[foosec.NTx86.5.1]

다음 예제에서는 빌드 14393 이상과 Windows 10 x64 플랫폼과 관련된 제조업체 섹션을 보여 줍니다.

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

[foosec.NTamd64.10.0...14393]

다음 두 예제에서는 다양한 OS별 INF 모델 섹션이 있는 골격 INF 파일을 보여 줍니다.

예제 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
.

예제 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
.

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

참고

여러 TargetOSVersions를 지정할 때 이 예제와 같이 한 항목에 함께 문자열을 지정합니다. 각 대상을 별도의 항목으로 나타내지 마세요.

추가 정보

플랫폼 확장과 운영 체제 버전 결합

모델

문자열