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 的调用方必须是管理员组的成员。
如果在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) |
Library | Setupapi.lib |
DLL | Setupapi.dll |
API 集 | Windows 10版本 10.0.1439 (3 中引入的 ext-ms-win-setupapi-classinstallers-l1-1-2) |