DIF_PROPERTYCHANGE

DIF_PROPERTYCHANGE请求会通知安装程序设备的属性正在更改。 设备处于启用、禁用、启动、停止状态,或者属性页上的某些项已更改。 此 DIF 请求使安装程序有机会参与更改。

发送时

启用、禁用、重启、停止设备或其属性发生更改时。

例如,当属性页提供程序在设备的SP_DEVINSTALL_PARAMS结构的 FlagsEx 字段中设置 DI_FLAGSEX_PROPCHANGE_PENDING 标志时,Windows 会发送此请求。

有关检测设备首次启动或随后重启的时间的详细信息,请参阅安装程序操作部分。

谁处理

类共同安装程序

可以处理

设备共同安装程序

可以处理

类安装程序

可以处理

安装程序输入

DeviceInfoSet
为包含 该设备的设备信息集 提供句柄。

DeviceInfoData
提供指向设备信息集中设备的 SP_DEVINFO_DATA 结构的指针。

设备安装参数
设备安装参数 (SP_DEVINSTALL_PARAMS) 与 DeviceInfoData 相关联。

类安装参数
SP_PROPCHANGE_PARAMS 结构与 DeviceInfoData 相关联。

安装程序输出

安装程序返回值

共同安装程序可以返回NO_ERROR、ERROR_DI_POSTPROCESSING_REQUIRED或 Win32 错误代码。

如果类安装程序成功处理此请求,并且 SetupDiCallClassInstaller 随后应调用默认处理程序,则类安装程序将返回ERROR_DI_DO_DEFAULT。

如果类安装程序成功处理此请求(包括直接调用默认处理程序),则类安装程序应返回NO_ERROR并且 SetupDiCallClassInstaller 随后不会再次调用默认处理程序。

注意 类安装程序可以直接调用默认处理程序,但类安装程序不应尝试取代默认处理程序的操作。

有关调用默认处理程序的详细信息,请参阅 调用默认 DIF 代码处理程序

如果类安装程序遇到错误,安装程序应返回相应的 Win32 错误代码, 并且 SetupDiCallClassInstaller 随后不会调用默认处理程序。

默认 DIF 代码处理程序

SetupDiChangeState

安装程序操作

为了响应DIF_PROPERTYCHANGE请求,安装程序可以参与属性更改操作。 类安装参数 (SP_PROPCHANGE_PARAMS) 指示正在发生的更改。

属性更改可能需要重启系统。 有关如何重启系统的信息,请参阅 SetupDiCallClassInstaller

当 Windows 首次发送安装设备的DIF_INSTALLDEVICE请求时,Windows 会启动设备,但不会在安装过程中发送DIF_PROPERTYCHANGE请求。 如果在设备首次启动时必须执行自定义安装操作,并且每当设备随后重新启动时,安装程序或共同安装程序应处理首次启动设备的DIF_INSTALLDEVICE请求,以及指示状态更改操作是设备正在启动的DIF_PROPERTYCHANGE请求。

有关 DIF 代码的详细信息,请参阅 处理 DIF 代码

要求

版本

在 Microsoft Windows 2000 及更高版本的 Windows 中受支持。

标头

Setupapi.h (包括 Setupapi.h)

另请参阅

SetupDiChangeState

SP_DEVINFO_DATA

SP_DEVINSTALL_PARAMS

SP_PROPCHANGE_PARAMS