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 代码处理程序

SetupDiRegisterDeviceInfo

安装程序操作

设备安装应用程序通常会发送此 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)

另请参阅

DIF_DETECT

SetupDiRegisterDeviceInfo

SP_DEVINFO_DATA

SP_DEVINSTALL_PARAMS