存取設備驅動器屬性
在 Windows Vista 和更新版本的 Windows 中, 統一裝置屬性模型 包含設備驅動器屬性,可描述設備驅動器的特性。 統一裝置屬性模型會使用 屬性索引鍵 來表示這些屬性。
Windows Server 2003、Windows XP 和 Windows 2000 也支援大部分的裝置驅動程序屬性。 不過,這些舊版 Windows 不支援統一裝置屬性模型的屬性索引鍵。 相反地,這些版本的 Windows 會使用下列機制來表示及存取對應的屬性資訊:
為了維持與這些舊版 Windows 的相容性,Windows Vista 和更新版本也支援這兩種方式來存取裝置介面的相關信息。 不過,您應該使用屬性索引鍵來存取 Windows Vista 和更新版本上的這些屬性。 如需如何使用屬性密鑰存取 Windows Vista 和更新版本上的設備驅動器屬性的詳細資訊,請參閱 存取 Windows Vista 和更新版本的裝置實例屬性 (Windows Vista 和更新版本) 。
存取具有對應登錄專案值的裝置驅動程序屬性
若要存取 Windows Server 2003、Windows XP 和 Windows 2000 上的裝置驅動程序屬性,請遵循下列步驟:
使用 CM_REGISTRY_SOFTWARE 的 ulFlags 或 SetupDiOpenDevRegKey 呼叫具有 DICS_FLAG_GLOBAL 範圍且 KeyType 為 DIREG_DRV 的 ulFlags 呼叫 CM_Open_DevNode_Key,以擷取裝置實例的軟體密鑰句柄。
在呼叫 RegQueryValueEx 或 RegSetValueEx 時提供句柄,以擷取或設定對應至裝置實例驅動程式屬性的登錄專案值。
呼叫 RegCloseKey 函式,以在不再需要存取密鑰之後關閉軟體登錄機碼。
裝置軟體機碼中的統一裝置屬性模型屬性及其對應登錄值的數據表為:
Unified 屬性模型屬性 | regstr.h) 中定義的軟體機碼登錄值名稱 ( |
---|---|
DEVPKEY_Device_DriverDate | REGSTR_VAL_DRIVERDATEDATA |
DEVPKEY_Device_DriverVersion | REGSTR_VAL_DRIVERVERSION |
DEVPKEY_Device_DriverDesc | REGSTR_VAL_DRVDESC |
DEVPKEY_Device_DriverInfPath | REGSTR_VAL_INFPATH |
DEVPKEY_Device_DriverInfSection | REGSTR_VAL_INFSECTION |
DEVPKEY_Device_DriverInfSectionExt | REGSTR_VAL_INFSECTIONEXT |
DEVPKEY_Device_DriverProvider | REGSTR_VAL_PROVIDER_NAME |
使用 SetupDiGetDriverInstallParams 來擷取驅動程式排名
在 Windows Server 2003、Windows XP 和 Windows 2000 上,您可以呼叫 SetupDiGetDriverInstallParams 來擷取目前為裝置安裝的驅動程式排名。 SetupDiGetDriverInstallParams 會擷取輸出參數 DriverInstallParams 中驅動程式SP_DRVINSTALL_PARAMS結構的指標。 所擷取SP_DRVINSTALL_PARAMS結構的 Rank 成員包含驅動程式排名。