次の方法で共有


Windows Vistaより前のデバイスのプロパティを変更するINFファイル エントリ値

Windows Server 2003、Windows XP、および Windows 2000 のデバイス プロパティを変更する INF ファイルエントリの値を次に示します。

  • Windows Vista 以降のバージョンの Windows の 統合デバイス プロパティ モデル の一部である システム定義のデバイス プロパティ に対応するデバイス プロパティを設定する INF ファイル エントリ値。

  • Windows Vista 以降のバージョンの統合デバイス プロパティ モデルの一部であるシステム定義のデバイス プロパティに対応するシステム定義レジストリ エントリ値を設定または削除する INF AddReg ディレクティブINF DelReg ディレクティブ。

  • カスタム デバイスのプロパティに対応するカスタム レジストリ エントリ値を設定または削除する INF AddReg ディレクティブと INF DelReg ディレクティブ。

デバイス インスタンス、 デバイス セットアップ クラス、デバイス インターフェイス、 およびデバイス インターフェイス をインストールする INF ファイル セクションの一般的な情報については、次のトピックを参照してください。

システム定義デバイス プロパティに対応する INF ファイルエントリ値

一部の INF ファイル エントリ値は、デバイス インスタンスのプロパティとデバイス インターフェイスのプロパティに対応するシステム定義レジストリ エントリ値を設定するために Windows が使用する情報を提供します。 このような INF ファイル エントリ値によって提供されるレジストリ エントリ値の例を次に示します。

  • INF ファイルの INF Models セクション には、 デバイス記述 エントリ値が含まれています。 この値は、統合デバイス プロパティ モデルの DEVPKEY_Device_DeviceDesc プロパティに対応し、CM_DRP_DEVICEDESC の ulProperty パラメーターを使用して CM_Get_DevNode_Registry_Property を呼び出すか、SPDRP_DEVICEDESCの Property パラメーターを使用して SetupDiGetDeviceRegistryProperty を呼び出すことによって取得できます。

  • INF Version セクションの INF クラス ディレクティブには、 デバイス セットアップ クラスの名前を指定する クラス名 エントリ値が含まれています。 この値は、統合デバイス プロパティ モデルの DEVPKEY_DeviceClass_ClassName プロパティに対応します。 デバイス セットアップ クラスのクラス名は、 SetupDiClassNameFromGuid を呼び出すことによって取得できます。また、デバイス インスタンスのクラス名は、CM_DRP_CLASS の ulProperty パラメーターを使用して CM_Get_DevNode_Registry_Property を呼び出すか、SPDRP_CLASSの Property パラメーターを使用して SetupDiGetDeviceRegistryProperty を呼び出すことによって取得できます。

  • INF InterfaceInstall32 セクション には、デバイス インターフェイスの GUID を提供する InterfaceClassGuid エントリ値が含まれています。 この値は、統合デバイス プロパティ モデルの DEVPKEY_DeviceInterface_ClassGuid プロパティに対応します。 デバイス インターフェイスの GUID は、 SetupDiEnumDeviceInterfaces を呼び出すことによって取得できます。SetupDiEnumDeviceInterfaces は、デバイス インスタンスに関連付けられているデバイス インターフェイスの SP_DEVICE_INTERFACE_DATA 構造を取得します。 SP_DEVICE_INTERFACE_DATA構造体の InterfaceClassGuid メンバーは、インターフェイス クラス GUID を識別します。

システム定義デバイスのプロパティを変更する INF AddReg ディレクティブと INF DelReg ディレクティブ

多くのシステム定義デバイス プロパティには、対応するシステム定義レジストリ エントリ値があります。 対応するレジストリ エントリ値を持つデバイス プロパティの場合、 INF AddReg ディレクティブ を使用して対応するレジストリ エントリ値を追加すると、対応するデバイス プロパティが設定されます。 同様に、 INF DelReg ディレクティブ を使用して対応するレジストリ エントリ値を削除すると、対応するデバイス プロパティも削除されます。

たとえば、次の "Abc_Device_Install.HW" セクションの INF AddReg ディレクティブは、デバイス インスタンスの DeviceCharacteristics レジストリ エントリ値を設定します。

[Abc_Device_Install.HW]
...
AddReg = Xxx_AddReg
...
[Xxx_AddReg]
...
[HKR,,DeviceCharacteristics,0x10001,0x00000001
] 

DeviceCharacteristics レジストリ エントリの値は、Windows Vista 以降のバージョンの Windows の 統合デバイス プロパティ モデルDEVPKEY_Device_Characteristics プロパティに対応します。

カスタム レジストリ エントリの値を変更する INF AddReg ディレクティブと INF DelReg ディレクティブ

Windows では、システム定義レジストリ エントリ値とシステム定義デバイス プロパティの対応関係が管理されます。 ただし、Windows では、カスタム レジストリ エントリ値とカスタム デバイス プロパティの対応は管理されません。 カスタム レジストリ エントリ値を変更する INF AddReg ディレクティブ または INF DelReg ディレクティブ は、Windows が管理するシステム定義プロパティには影響しません。

次の例に示すように設定されているカスタム デバイス インスタンス プロパティは、 SetupDiGetCustomDeviceProperty を呼び出すことによって取得できます。

[XxxDDInstall.HW]
...
AddReg = Xxx_AddReg
...
[Xxx_AddReg]
...
[HKR,,CustomPropertyName,0x10001,0x00000001
] 

対応するカスタム レジストリ エントリ値を持つカスタム デバイス プロパティにアクセスする方法の詳細については、「カスタム デバイス プロパティへのアクセス」を参照してください。