INF 버전 섹션
규칙에 따라 버전 섹션이 INF 파일에 먼저 표시됩니다. 모든 INF 파일에는 이 섹션이 있어야 합니다.
[Version]
Signature="signature-name"
[Class=class-name]
[ClassGuid={nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn}]
[Provider=%INF-creator%]
[ExtensionId={xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}]
[LayoutFile=filename.inf [,filename.inf]... ] (Windows 2000 and Windows XP)
[CatalogFile=filename.cat]
[CatalogFile.nt=unique-filename.cat]
[CatalogFile.ntx86=unique-filename.cat]
[CatalogFile.ntia64=unique-filename.cat] (Windows XP and later versions of Windows)
[CatalogFile.ntamd64=unique-filename.cat] (Windows XP and later versions of Windows)
[CatalogFile.ntarm=unique-filename.cat] (Windows 8 and later versions of Windows)
[CatalogFile.ntarm64=unique-filename.cat] (Windows 10 version 1709 and later versions of Windows)
DriverVer=mm/dd/yyyy,w.x.y.z
[PnpLockDown=0|1] (Windows Vista and later versions of Windows)
[DriverPackageDisplayName=%driver-package-description%]
[DriverPackageType=PackageType]
엔트리
Signature="signature-name"
$Windows NT$ 또는 $Chicago$이어야 합니다. 이는 이 INF가 유효한 운영 체제를 나타냅니다. 이러한 서명 값은 다음과 같은 의미를 갖습니다.
서명 값 | 의미 |
---|---|
$Windows NT$ | 모든 Windows 운영 체제 |
$Chicago$ | 모든 Windows 운영 체제 |
바깥쪽 달러 기호 문자($)가 필요하지만 이러한 문자열은 대/소문자를 구분하지 않습니다. signature-name이 이러한 문자열 값이 아닌 경우 파일은 유효한 INF로 허용되지 않습니다.
일반적으로 Windows는 이러한 서명 값을 구분하지 않습니다. 그 중 하나를 지정해야 하지만 어느 것이 중요하지는 않습니다. INF 파일을 읽는 사용자가 의도한 운영 체제를 확인할 수 있도록 적절한 값을 지정해야 합니다.
일부 클래스 설치 관리자는 서명 값을 지정하는 방법에 추가 요구 사항을 추가합니다. 이러한 요구 사항이 있는 경우 이 WDK(Windows 드라이버 키트)의 디바이스 유형별 섹션에서 설명합니다.
INF는 DDInstall 섹션에 시스템 정의 확장을 추가하여 OS 관련 설치 정보를 제공해야 하며, 서명 이름은 $Windows NT$ 또는 $Chicago$입니다. (참조) 이러한 확장에 대한 설명을 위해 여러 플랫폼 및 운영 체제 용 INF 파일 만들기.)
Class=class-name
모든 표준 유형의 디바이스에 대해 이 INF 파일을 사용하여 설치된 디바이스 유형에 대한 디바이스 설정 클래스의 이름을 지정합니다. 이 이름은 일반적으로 Devguid.h에 나열된 Net 또는 Display와 같은 시스템 정의 클래스 이름 중 하나입니다. 자세한 내용은 시스템 제공 디바이스 설정 클래스를 참조 하세요.
INF에서 클래스를 지정하는 경우 ClassGUID 항목에 해당하는 시스템 정의 GUID 값도 지정해야 합니다. 미리 정의된 디바이스 설정 클래스의 디바이스에 일치하는 GUID 값을 지정하면 시스템 설정 코드가 INF 검색을 최적화하는 데 도움이 되므로 디바이스와 해당 드라이버를 더 빠르게 설치할 수 있습니다.
INF가 시스템에 디바이스의 새 설정 클래스를 추가하는 경우 Devguid.h의 시스템 제공 클래스와 다른 대/소문자를 구분하지 않는 고유한 클래스 이름 값을 제공해야 합니다. 클래스 이름 문자열의 길이는 32자 이하여야 합니다. INF는 ClassGUID 항목에 대해 새로 생성된 GUID 값을 지정해야 합니다. INF ClassInstall32 섹션도 참조 하세요.
이 항목은 미리 정의된 디바이스 설정 클래스 또는 새 디바이스 설정 클래스 아래에 새 디바이스 드라이버를 설치하지 않는 INF와 관련이 없습니다.
참고 항목
이 항목은 플러그 앤 플레이(PnP) 관리자를 통해 설치된 디바이스 드라이버에 필요합니다.
ClassGuid={nnnnnnn-nnnn-nnnn-nnnn-nnnn nnnnnn}
디바이스 설정 클래스 GUID를 지정합니다. GUID 값은 여기에 표시된 대로 서식이 지정됩니다. 여기서 각 n 은 16진수입니다.
이 GUID 값은 이 INF 파일에서 설치된 디바이스에 할당할 디바이스 설정 클래스를 지정합니다. 이 클래스별 GUID 값은 디바이스 유형 및 클래스별 속성 페이지 공급자(있는 경우)에 대한 디바이스 클래스 설치 관리자도 식별합니다.
새 디바이스 설정 클래스의 경우 INF는 새로 생성된 ClassGUID 값을 지정해야 합니다. GUID를 만드는 방법에 대한 자세한 내용은 드라이버에서 GUID 사용을 참조 하세요. 디바이스 설정 클래스도 참조하세요.
참고 항목
이 항목은 PnP 관리자를 통해 설치된 디바이스 드라이버에 필요합니다.
ExtensionId={xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
확장 INF를 작성할 때 확장 ID GUID를 지정합니다. GUID 값은 여기에 표시된 대로 서식이 지정됩니다. 여기서 각 x 는 16진수입니다.
INF 확장의 초기 버전을 만들 때 INF는 새로 생성된 ExtensionId 값을 지정해야 합니다. 그러나 기존 확장 INF를 업데이트할 때 확장 INF 의 여러 관련 버전이 동일한 디바이스 인스턴스에 동시에 설치될 수 있는 독립 확장 INF로 처리되지 않고 서로 버전이 지정되도록 ExtensionId 는 동일하게 유지되어야 합니다. 확장 INF를 작성하는 방법에 대한 자세한 내용은 확장 INF 파일 사용을 참조 하세요.
참고 항목
이 항목은 지정 Class = Extension
하여 ClassGuid = {e2f84ce7-8efa-411c-aa69-97454ca4cb57}
식별되는 확장 INF를 만들 때만 필요합니다.
ClassVer=major.사소한
프린터와 같은 디바이스 클래스에서 명시적으로 요구하지 않는 한 시스템 사용을 위해 예약됩니다. 예를 들어 V4 드라이버 INF를 참조 하세요.
Provider=%INF-creator%
INF 파일의 공급자를 식별합니다. 일반적으로 이 토큰은 INF 파일의 문자열 섹션 뒷부분에서 확장되는 OrganizationName% 토큰으로 %지정됩니다. 공급자 이름의 최대 길이(문자)는 LINE_LEN.
예를 들어 시스템과 함께 제공되는 INF 파일은 일반적으로 INF 작성자를 Msft%로 %지정하고 문자열 섹션에서 Msft% = "Microsoft"를 정의%합니다.
참고 항목
이 항목은 PnP 관리자를 통해 설치된 디바이스 드라이버에 필요합니다.
CatalogFile=filename.cat
카탈로그()를 지정합니다.cat) 드라이버 패키지의 배포 미디어에 포함할 파일입니다.
디지털 서명을 위해 드라이버 패키지를 Microsoft에 제출하면 WHQL에서 디지털 서명을 테스트하고 패키지에 할당한 후 WHQL은 드라이버 패키지에 대한 카탈로그 파일을 제공합니다. IHV 또는 OEM 드라이버 패키지의 테스트 및 서명에 대한 자세한 내용은 WHQL 릴리스 서명을 참조하세요. 카탈로그 파일은 INF의 SourceDisksFiles 섹션 또는 CopyFiles 지시문에 나열되지 않습니다. Windows에서는 카탈로그 파일이 INF 파일과 동일한 위치에 있다고 가정합니다.
운영 체제가 시스템에서 제공하는 모든 xxx.cat 파일에 대해 이러한 INF에 대한 서명의 유효성을 검사하기 때문에 시스템에서 제공하는 INF 파일에 CatalogFile= 항목이 없습니다.
CatalogFile.nt=unique-filename.cat |
CatalogFile.ntx86=unique-filename.cat |
CatalogFile.ntia64=unique-filename.cat |
CatalogFile.ntamd64=unique-filename.cat
CatalogFile.ntarm=unique-filename.cat
CatalogFile.ntarm64=unique-filename.cat
다른 INF-writer-determined, unique 파일 이름을 지정 합니다.카탈로그 파일의 cat 확장명입니다. 이러한 선택적 항목을 생략하면 지정된 CatalogFile=filename.cat WDM 디바이스/드라이버 설치의 유효성을 검사하는 데 사용됩니다.
데코레이팅된 CatalogFile이 있는 경우xxx= 항목은 INF의 버전 섹션에 디코딩되지 않은 CatalogFile= 항목과 함께 존재하며, 디코딩되지 않은 항목은 데코레이팅된 항목이 지정되지 않은 플랫폼에서 디바이스 설치, 드라이버 설치 또는 둘 다의 유효성을 검사하기 위한 filename.cat 식별하는 것으로 간주됩니다.
CatalogFile= 및 CatalogFile이 있는 플랫폼 간 디바이스 드라이버 INF 파일입니다. xxx= 항목은 이러한 각 .cat 파일에 대해 고유한 IHV/OEM 결정 이름을 제공해야 합니다.
시스템 정의 .nt, .ntx86, .ntia64, .ntamd64, .ntarm 및 .ntarm64 확장을 사용하는 방법에 대한 자세한 내용은 여러 플랫폼 및 운영 체제용 INF 파일 만들기를 참조하세요.
참고 항목
지원되는 모든 플랫폼에서 동일한 .cat 파일을 사용할 수 있으므로 이 항목을 사용할 필요가 없거나 권장되지 않습니다. 그러나 드라이버 패키지에 대한 플랫폼별 .cat 파일을 만들려면 이 항목을 사용해야 합니다.
DriverVer= mm/dd/yyyy,w.x.y.z
이 항목은 이 INF 파일에 의해 설치된 드라이버에 대한 버전 정보를 지정합니다. Windows 2000부터 이 항목이 필요합니다.
이 항목을 지정하는 방법에 대한 자세한 내용은 INF DriverVer 지시문을 참조하세요.
PnpLockDown=0|1
플러그 앤 플레이(PnP)에서 애플리케이션이 드라이버 패키지의 INF 파일이 지정하는 파일을 직접 수정하지 못하도록 하는지 여부를 지정합니다. PnpLockDown 지시문을 1로 설정하면 PnP는 애플리케이션이 INF CopyFiles 지시문에 의해 복사된 파일을 직접 수정하지 못하게 합니다. 그렇지 않으면 지시문이 INF 파일에 포함되지 않거나 지시문 값이 0으로 설정된 경우 관리자 권한이 있는 애플리케이션에서 이러한 파일을 직접 수정할 수 있습니다. 이러한 방식으로 보호되는 드라이버 파일을 타사 보호 드라이버 파일이라고 합니다.
PnP 드라이버 설치의 무결성을 보장하기 위해 애플리케이션은 드라이버 패키지 INF 파일에서 복사한 드라이버 파일을 직접 수정해서는 안 됩니다. 애플리케이션은 Windows에서 제공하는 디바이스 설치 메커니즘만 사용하여 PnP 드라이버를 업데이트해야 합니다.
Windows Vista부터 드라이버 패키지는 애플리케이션이 드라이버 파일을 직접 수정하지 못하도록 PnpLockDown을 1로 설정해야 합니다. 그러나 드라이버 패키지를 제거하는 일부 기존 애플리케이션은 드라이버 파일을 직접 삭제합니다. 이러한 애플리케이션과의 호환성을 유지하려면 이러한 드라이버 패키지에 대한 PnpLockDown 지시문을 0으로 설정해야 합니다.
참고 항목
Windows Vista 이상 버전의 Windows에서 PnP는 드라이버를 설치하기 위해 INF 파일에 PnpLockDown 지시문을 포함할 필요가 없지만, 이후 버전의 Windows에서 PnP는 PnP 드라이버 패키지용 INF 파일에 PnpLockDown 지시문을 포함해야 할 수 있습니다.
DriverPackageDisplayName=%driver-package-description%
사용되지 않음. 이전에 DIFx(드라이버 설치 프레임워크)에서 사용되었습니다. DIFx 사용 중단에 대한 자세한 내용은 DIFx 지침을 참조 하세요.
DriverPackageType= PackageType
사용되지 않음. 이전에 DIFx(드라이버 설치 프레임워크)에서 사용되었습니다. DIFx 사용 중단에 대한 자세한 내용은 DIFx 지침을 참조 하세요.
설명
드라이버 패키지가 Microsoft WHQL(Windows Hardware Quality Lab) 테스트를 통과하면 WHQL은 .cat 카탈로그 파일을 IHV 또는 OEM에 반환합니다. 각 .cat 파일에는 드라이버 패키지에 대한 디지털 암호화 서명이 포함되어 있습니다. IHV 또는 OEM은 INF 버전 섹션에서 이러한 .cat 파일을 나열해야 하며, INF 파일과 동일한 위치에 있는 배포 미디어에 파일을 제공해야 합니다. .cat 파일은 압축을 해제해야 합니다.
참고 항목
INF 버전 섹션에 하나 이상의 CatalogFile 또는 CatalogFile.nt xxx 항목이 포함되지 않은 경우 드라이버는 서명되지 않은 것으로 처리되고 DriverVer 지시문에 나열된 날짜는 Windows에서 표시되지 않습니다.
자세한 내용은 드라이버 서명을 참조 하세요.
예제
다음 예제에서는 간단한 드라이버 패키지 INF의 일반적인 버전 섹션과 이 샘플 버전 섹션에 지정된 항목에 내포된 필수 SourceDisksNames 및 SourceDisksFiles 섹션을 보여 줍니다.
[Version]
Signature="$Windows NT$"
Class=SCSIAdapter
ClassGUID={4D36E97B-E325-11CE-BFC1-08002BE10318}
Provider=%INF_Provider%
CatalogFile=example.cat
DriverVer=01/29/2010,1.2.3.4
PnpLockdown=1
[SourceDisksNames]
;
; diskid = description[, [tagfile] [, <unused>, subdir]]
;
1 = %Disk_Description%,,,\WinNT
[SourceDisksFiles.x86]
;
; filename_on_source = diskID[, [subdir][, size]]
;
exampleDriver.sys = 1,\x86
; ...
[Strings]
INF_Provider="Contoso"
Disk_Description = "Contoso Drivers Disk"
; ...