INF AddProperty 지시문
AddProperty 지시문은 디바이스 instance, 디바이스 설정 클래스, 디바이스 인터페이스 클래스 또는 디바이스 인터페이스에 대해 설정된 디바이스 속성을 수정하는 하나 이상의 INF 파일 섹션을 참조합니다.
[DDInstall] |
[DDInstall.nt] |
[DDInstall.ntx86] |
[DDInstall.ntia64] |
[DDInstall.ntamd64] |
[DDInstall.ntarm] |
[DDInstall.ntarm64]
[ClassInstall32] |
[ClassInstall32.nt] |
[ClassInstall32.ntx86] |
[ClassInstall32.ntia64] | (Windows XP and later versions of Windows)
[ClassInstall32.ntamd64] | (Windows XP and later versions of Windows)
[ClassInstall32.ntarm] | (Windows 8 and later versions of Windows)
[ClassInstall32.ntarm64] | (Windows 10 version 1709 and later versions of Windows)
[interface-install-section] |
[interface-install-section.nt] |
[interface-install-section.ntx86] |
[interface-install-section.ntia64] | (Windows XP and later versions of Windows)
[interface-install-section.ntamd64] | (Windows XP and later versions of Windows) |
[interface-install-section.ntarm] | (Windows 8 and later versions of Windows) |
[interface-install-section.ntarm64] | (Windows 10 version 1709 and later versions of Windows)
[add-interface-section]
AddProperty=add-property-section[,add-property-section]... (Windows Vista and later versions of Windows)
...
각 add-property-섹션 에는 다음을 수행하는 항목이 있을 수 있습니다.
디바이스 속성을 추가하고 속성 값을 초기화합니다.
기존 디바이스 속성의 값을 수정합니다.
AddProperty 지시문에서 참조하는 add-property-section의 형식은 다음과 같습니다.
[add-property-section]
(property-name, , , [flags], value]) |
({property-category-guid}, property-pid, type, [flags], value)
...
add 속성 섹션에는 각각 별도의 줄에 있는 속성 이름 항목 또는 property-guid 항목이 있을 수 있습니다.
항목
property-name
디바이스 instance 드라이버 패키지 속성을 나타내는 다음 속성 이름 중 하나입니다.
DeviceModel
DeviceVendorWebsite
DeviceDetailedDescription
DeviceDocumentationLink
DeviceIcon
DeviceBrandingIcon
사용자 지정 디바이스 아이콘을 추가하는 방법에 대한 자세한 내용은 디바이스에 대한 아이콘 제공을 참조하세요.
property-category-guid
속성 범주를 식별하는 GUID 값입니다. GUID 값은 디바이스 instance, 디바이스 설정 클래스, 디바이스 인터페이스 클래스 또는 디바이스 인터페이스의 속성 범주 중 하나를 식별하는 시스템 정의 GUID일 수 있습니다. GUID 값이 동일한 모든 속성은 동일한 범주의 멤버입니다. 이러한 속성 범주는 Devpkey.h에 정의되어 있습니다.
GUID 값은 사용자 지정 속성 범주를 식별하는 사용자 지정 GUID 값일 수도 있습니다.
property-pid
property-category-guid 값으로 표시되는 속성 범주 내의 특정 속성을 나타내는 속성 식별자입니다. 내부 시스템상의 이유로 속성 식별자는 2보다 크거나 같아야 합니다.
type
property-category-guid 값 및 property-pid 값으로 지정된 속성에 대한 property-data-type 식별자의 숫자 값(10진수 또는 16진수 형식)입니다. 다음 기본 데이터 형식 만 지원됩니다.
DEVPROP_TYPE_STRING
DEVPROP_TYPE_STRING_LIST
DEVPROP_TYPE_BINARY
DEVPROP_TYPE_BOOLEAN
DEVPROP_TYPE_UINT32
예를 들어 DEVPROP_TYPE_STRING 데이터 형식의 10진수 값은 18(0x00000012)이고 DEVPROP_TYPE_STRING_LIST 데이터 형식의 10진수 값은 8210(0x00002012)입니다.
flags
추가 작업을 제어하는 다음 플래그 중 비트 OR인 선택적 16진수 값입니다.
0x00000001 (FLG_ADDPROPERTY_NOCLOBBER)
값 항목 값이 기존 속성 값을 대체하지 못하도록 하는 플래그입니다. 드라이버 작성기가 Include 및 Needs 지시문을 통해 속성을 재정의할 수 있도록 하려는 경우 작성기는 해당 속성에 대해 이 플래그를 지정해야 합니다. 이는 Windows가 Include 및 Needs 지시문을 포함하는 INF 섹션 내의 다른 모든 지시문을 처리한 후 Include 및 Needs 지시문에서 참조하는 INF 섹션을 처리하기 때문입니다.
0x00000002 (FLG_ADDPROPERTY_OVERWRITEONLY)
지정된 속성이 이미 있는 경우에만 속성 값을 값 항목 값으로 설정하는 플래그입니다.
0x00000004 (FLG_ADDPROPERTY_APPEND)
기존 속성 문자열 값에 값 항목 값을 추가하는 플래그입니다. 이 플래그는 속성 데이터 형식이 DEVPROP_TYPE_STRING_LIST 경우에만 유효합니다. 제공된 문자열이 기존 문자열 값에 이미 있는 경우 제공된 문자열은 기존 속성 문자열 값에 추가되지 않습니다.
0x00000008 (FLG_ADDPROPERTY_OR)
기존 속성 값의 값 항목 값에 대한 비트 OR을 수행하는 플래그입니다. 이 플래그는 속성 데이터 형식이 DEVPROP_TYPE_UINT32 경우에만 유효합니다.
0x00000010 (FLG_ADDPROPERTY_AND)
기존 속성 값의 값 항목 값에 대한 비트 AND를 수행하는 플래그입니다. 이 플래그는 속성 데이터 형식이 DEVPROP_TYPE_UINT32 경우에만 유효합니다.
value
속성 데이터 형식 및 플래그 항목의 값에 따라 추가 작업에서 속성 값을 수정하는 데 사용하는 값입니다.
설명
AddProperty 지시문을 사용하여 시스템 정의 디바이스 속성 또는 사용자 지정 디바이스 속성을 수정할 수 있습니다. 이 지시문은 위의 공식 구문 문에 표시된 섹션 아래에 지정할 수 있습니다.
각 add-property-section 이름은 INF 파일 내에서 고유해야 하지만 동일한 INF 파일에서 둘 이상의 AddProperty 지시문에서 섹션을 참조할 수 있습니다. 각 섹션 이름은 INF 파일에 대한 일반 구문 규칙에 설명된 섹션 이름을 정의하기 위한 일반 규칙을 따라야 합니다.
INF AddProperty 지시문을 사용하는 방법에 대한 자세한 내용은 INF AddProperty 지시문 및 INF DelProperty 지시문 사용을 참조하세요.
예제
속성 추가 섹션의 다음 예제에는 두 줄 항목이 포함됩니다. 첫 번째 줄 항목은 DeviceModel 속성을 이름으로 설정하고 두 번째 줄 항목은 사용자 지정 속성 키 GUID를 지정하여 사용자 지정 디바이스 속성을 설정합니다.
첫 번째 줄에는 속성 이름 항목 값 "DeviceModel"과 값 항목 값 "샘플 디바이스 모델 이름"이 포함됩니다.
두 번째 줄 항목은 사용자 지정 속성 범주에서 사용자 지정 속성을 설정합니다. property-category-guid 항목 값은 "c22189e4-8bf3-4e6d-8467-8dc6d95e2a7e"이며 속성 식별자 항목 값은 "2"입니다.
선택적 플래그 항목 값이 없으며 형식 항목 값은 "18"(DEVPROP_TYPE_STRING)입니다. 값 항목 값은 "속성 1에 대한 문자열 값"입니다.
[SampleAddPropertySection]
DeviceModel,,,,"Sample Device Model Name"
{c22189e4-8bf3-4e6d-8467-8dc6d95e2a7e}, 2, 18,, "String value for property 1"