DIF_REGISTERDEVICE
DIF_REGISTERDEVICE请求允许安装程序参与向 PnP 管理器注册新创建的设备实例。 Windows 向非 PnP 设备发送此 DIF 请求。
发送时间
当安装程序报告以前未知的设备以响应 DIF_DETECT 请求时。 Windows 在安装设备之前,在“添加硬件向导”的分析阶段发送此 DIF 请求。 Windows 还会在非 PnP 检测期间发送此请求。
谁处理
类辅助安装程序 |
可以处理 |
设备辅助安装程序 |
不处理 |
类安装程序 |
可以处理 |
安装程序输入
DeviceInfoSet
提供包含 设备的设备信息集 的句柄。
DeviceInfoData
提供指向 SP_DEVINFO_DATA 结构的指针,该结构标识设备信息集中的设备。
设备安装参数
有与 DeviceInfoData 关联的SP_DEVINSTALL_PARAMS) (设备安装参数。
安装程序输出
无
安装程序返回值
辅助安装程序可以返回NO_ERROR或 Win32 错误代码。 辅助安装程序不应为此 DIF 请求返回ERROR_DI_POSTPROCESSING_REQUIRED。
如果安装程序确定设备是重复设备,它将返回ERROR_DUPLICATE_FOUND。
如果类安装程序成功处理此请求,并且 SetupDiCallClassInstaller 随后应调用默认处理程序,则类安装程序将返回ERROR_DI_DO_DEFAULT。
如果类安装程序成功处理此请求(包括直接调用默认处理程序),则类安装程序应返回NO_ERROR并且 SetupDiCallClassInstaller 随后不会再次调用默认处理程序。
注意 类安装程序可以直接调用默认处理程序,但类安装程序绝不应尝试取代默认处理程序的操作。
有关调用默认处理程序的详细信息,请参阅 调用默认 DIF 代码处理程序。
如果类安装程序遇到错误,安装程序应返回相应的 Win32 错误代码, 并且 SetupDiCallClassInstaller 随后不会调用默认处理程序。
如果安装程序确定设备是重复设备,则安装程序将返回ERROR_DUPLICATE_FOUND。
默认 DIF 代码处理程序
安装程序操作
设备安装应用程序通常会发送此 DIF 请求,以向 PnP 管理器注册非 PnP 设备。 从 Microsoft Windows 2000 开始,必须先注册非 PnP 设备,然后才能安装它们。
安装程序通常处理此 DIF 请求以执行重复检测。 此类安装程序通常调用默认处理程序 (SetupDiRegisterDeviceInfo) 并指定其检测例程。 如果注册成功,并且安装程序确定设备不是重复设备,则安装程序将返回NO_ERROR。
协同安装程序应执行任何操作,以在其预处理阶段处理此 DIF 请求。 当调用辅助安装程序进行后处理时,设备实例已由类安装程序或默认处理程序注册。
如果安装程序为此 DIF 代码返回错误(通常ERROR_DUPLICATE_FOUND),Windows 将从设备信息集中删除设备。
有关 DIF 代码的详细信息,请参阅 处理 DIF 代码。
要求
版本 |
在 Microsoft Windows 2000 及更高版本的 Windows 中受支持。 |
标头 |
Setupapi.h (包括 Setupapi.h) |
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈