在 Windows Vista 之前修改裝置屬性的 INF 檔案專案值
以下是修改 Windows Server 2003、Windows XP 和 Windows 2000 上裝置屬性的 INF 檔案專案值:
INF 檔案輸入值,這些值會設定裝置屬性,這些屬性會對應至 Windows Vista 和更新版本的 Windows 中統一裝置屬性模型的系統定義裝置屬性。
INF AddReg 指示詞 和 INF DelReg 指示詞 ,這些指示詞會設定或刪除系統定義的登錄專案值,這些值會對應至 Windows Vista 和更新版本中統一裝置屬性模型的系統定義裝置屬性。
INF AddReg 指示詞和 INF DelReg 指示詞,可設定或刪除對應至自定義裝置屬性的自定義登錄專案值。
如需安裝裝置實例、 裝置安裝類別、 裝置介面類別和裝置介面之 INF 檔案區段的一般資訊,請參閱下列主題:
對應至 System-Defined 裝置屬性的 INF 檔案專案值
某些 INF 檔案專案值會提供 Windows 用來設定系統定義登錄專案值的資訊,這些值對應至裝置實例屬性和裝置介面屬性。 以下是這類 INF 檔案專案值所提供的一些登錄專案值範例:
INF 檔案的 INF 模型區段包含裝置描述專案值。 這個值會對應至統一裝置屬性模型中的DEVPKEY_Device_DeviceDesc屬性,而且可以使用CM_DRP_DEVICEDESC的 ulProperty 參數呼叫 CM_Get_DevNode_Registry_Property,或使用屬性參數呼叫 SetupDiGetDeviceRegistryProperty,以SPDRP_DEVICEDESC的 Property 參數來擷取。
INF Version 區段的 INF類別指示詞包含提供裝置安裝類別名稱的類別名稱專案值。 這個值會對應至統一裝置屬性模型中 的 DEVPKEY_DeviceClass_ClassName 屬性。 您可以藉由呼叫 SetupDiClassNameFromGuid 來擷取裝置安裝類別的類別名稱,並使用 CM_DRP_CLASS 的 ulProperty 參數呼叫 CM_Get_DevNode_Registry_Property,或使用 property 參數呼叫 SetupDiGetDeviceRegistryProperty 來擷取裝置實例的類別名稱,方法是使用 SPDRP_CLASS 的 Property 參數來擷取。
INF InterfaceInstall32 區段包含提供裝置介面 GUID 的 InterfaceClassGuid 專案值。 這個值會對應至統一裝置屬性模型中 的 DEVPKEY_DeviceInterface_ClassGuid 屬性。 呼叫 SetupDiEnumDeviceInterfaces 即可擷取裝置介面的 GUID,這會擷取與裝置實例相關聯之裝置介面 的SP_DEVICE_INTERFACE_DATA 結構。 SP_DEVICE_INTERFACE_DATA 結構的 InterfaceClassGuid 成員會識別介面類別 GUID。
修改 System-Defined 裝置屬性的 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
]
如需如何存取具有對應自定義登錄專案值之自定義裝置屬性的詳細資訊,請參閱 存取自定義裝置屬性。