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 代码处理程序
安装程序操作
为了响应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) |