INF AddProperty ディレクティブ
AddProperty ディレクティブは、デバイス インスタンス、デバイス セットアップ クラス、デバイス インターフェイス クラス、またはデバイス インターフェイスに設定されているデバイス プロパティを変更する 1 つ以上の 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-registry-section には、次の操作を行うエントリを含めることができます。
デバイス プロパティを追加し、プロパティの値を初期化します。
既存のデバイス プロパティの値を変更します。
AddProperty ディレクティブによって参照される add-property-section の形式は次のとおりです。
[add-property-section]
(property-name, , , [flags], value]) |
({property-category-guid}, property-pid, type, [flags], value)
...
add プロパティ セクションには、それぞれ個別の行に、任意の数の プロパティ名 エントリまたは プロパティ-guid エントリを含めることができます。
エントリ
property-name
デバイス インスタンス ドライバー パッケージ のプロパティを表す次のいずれかのプロパティ名。
DeviceModel
DeviceVendorWebsite
DeviceDetailedDescription
DeviceDocumentationLink
DeviceIcon
DeviceBrandingIcon
カスタム デバイス アイコンの追加の詳細については、「デバイスのアイコンの提供」を参照してください。
property-category-guid
プロパティ カテゴリを識別する GUID 値。 GUID 値には、デバイス インスタンス、デバイス セットアップ クラス、デバイス インターフェイス クラス、またはデバイス インターフェイスのいずれかのプロパティ カテゴリを識別するシステム定義 GUID を指定できます。 同じ GUID 値を持つすべてのプロパティは、同じカテゴリのメンバーです。 これらのプロパティ カテゴリは Devpkey.h で定義されています。
GUID 値には、カスタム プロパティ カテゴリを識別するカスタム GUID 値を指定することもできます。
property-pid
property-category-guid 値によって示されるプロパティ カテゴリ内の特定のプロパティを示すプロパティ識別子。 内部システム上の理由から、プロパティ識別子は 2 以上である必要があります。
type
property-category-guid 値と property-pid 値で指定されたプロパティのプロパティ データ型識別子 の数値 (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 ディレクティブを使用してプロパティをオーバーライドできるようにする場合、ライターはそのプロパティに対してこのフラグを指定する必要があります。 これは、Include ディレクティブと Needs ディレクティブを含む INF セクション内の他のすべてのディレクティブを Windows が処理した後に、Include ディレクティブと Needs ディレクティブによって参照される INF セクションが Windows によって処理されるためです。
0x00000002 (FLG_ADDPROPERTY_OVERWRITEONLY)
指定したプロパティが既に存在する場合にのみ、プロパティ値を値エントリ値に設定するフラグ。
0x00000004 (FLG_ADDPROPERTY_APPEND)
既存のプロパティ文字列値の値エントリ値を追加するフラグ。 このフラグは、プロパティのデータ型がDEVPROP_TYPE_STRING_LISTされている場合にのみ有効です。 指定された文字列が既存の文字列値に既に存在する場合、指定された文字列は既存のプロパティ文字列値に追加されません。
0x00000008 (FLG_ADDPROPERTY_OR)
既存のプロパティ値の値エントリ値のビットごとの OR を実行するフラグ。 このフラグは、プロパティのデータ型がDEVPROP_TYPE_STRING_LISTされている場合にのみ有効です。
0x00000010 (FLG_ADDPROPERTY_AND)
既存のプロパティ値の値エントリ値のビットごとの OR を実行するフラグ。 このフラグは、プロパティのデータ型がDEVPROP_TYPE_STRING_LISTされている場合にのみ有効です。
value
プロパティのデータ型とフラグ エントリの値に応じて、追加操作がプロパティ値の変更に使用する値。
解説
AddProperty ディレクティブを使用して、システム定義のデバイス プロパティまたはカスタム デバイス プロパティを変更できます。 AddReg ディレクティブは、上記の正式な構文ステートメントに示されているセクションのいずれかで指定できます。
各 add-property-section 名は INF ファイル内で一意である必要がありますが、セクションは同じ INF ファイル内の複数の AddProperty ディレクティブによって参照できます。 各セクション名は、INF ファイルの 一般的な構文規則 で説明されているセクション名を定義するための一般的な規則に従う必要があります。
INF AddProperty ディレクティブの使用方法の詳細については、「INF AddProperty ディレクティブと INF DelProperty ディレクティブの使用」を参照してください。
例
次の add プロパティ セクションの例には、2 つの行エントリが含まれています。1 行目のエントリは DeviceModel プロパティを名前で設定し、2 行目のエントリではカスタム プロパティ キー GUID を指定してカスタム デバイス プロパティを設定します。
最初の行には、プロパティ名 のエントリ値 "DeviceModel" と値エントリ値 "Sample Device Model Name" が含まれます。
2 行目は、カスタム プロパティ カテゴリのカスタム プロパティを設定します。 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"