SetupDiChangeState 函式 (setupapi.h)
SetupDiChangeState 函式是安裝要求DIF_PROPERTYCHANGE的默認處理程式。
語法
WINSETUPAPI BOOL SetupDiChangeState(
[in] HDEVINFO DeviceInfoSet,
[in, out] PSP_DEVINFO_DATA DeviceInfoData
);
參數
[in] DeviceInfoSet
本機電腦 裝置資訊集 的句柄。 此集合包含裝置信息專案,表示要變更其狀態的裝置。
[in, out] DeviceInfoData
SP_DEVINFO_DATA 結構的指標,指定 DeviceInfoSet 中的裝置信息專案。 這是 IN-OUT 參數,因為 DeviceInfoData。DevInst 可能會在傳回時使用新的句柄值來更新。
傳回值
如果函式成功,函式會傳回 TRUE 。 否則,它會傳回 FALSE ,而且可以藉由呼叫 GetLastError 來擷取記錄的錯誤。
備註
SetupDiChangeState 會變更已安裝裝置的狀態。
SetupDiChangeState 的呼叫端必須是 Administrators 群組的成員。
如果您在SP_PROPCHANGE_PARAMS中指定DICS_FLAG_CONFIGSPECIFIC旗標,則必須填入 HwProfile 字段。 HwProfile 的值為零表示目前的配置檔。
若要在目前的硬體配置檔中啟用/停用裝置,請在SP_PROPCHANGE_PARAMS中設定DICS_FLAG_CONFIGSPECIFIC旗標。 若要全域啟用/停用裝置,例如停駐和未停駐硬體配置檔中的裝置,請設定DICS_FLAG_GLOBAL旗標。
此函式會執行下列動作:
此函式的呼叫端不應該在SP_PROPCHANGE_PARAMS中指定DICS_STOP或DICS_START。 使用DICS_PROPCHANGE停止並重新啟動裝置,使裝置的設定變更生效。
如果為裝置設定DI_DONOTCALLCONFIGMG,您就不應該呼叫裝置的 SetupDiChangeState ,而是應該改為設定DI_NEEDREBOOT旗標。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 可在 Microsoft Windows 2000 和更新版本的 Windows 中使用。 |
目標平台 | 桌面 |
標頭 | setupapi.h (包括 Setupapi.h) |
程式庫 | Setupapi.lib |
Dll | Setupapi.dll |
API 集合 | ext-ms-win-setupapi-classinstallers-l1-1-2 (Windows 10 10.0.14393 版) |