DIF_TROUBLESHOOTER

DIF_TROUBLESHOOTER请求允许安装程序启动设备的疑难解答,或返回 CHM 和 HTM 疑难解答文件,以便 Windows 启动。

注意 此 DIF 代码仅在 Windows Server 2003、Windows XP 和 Microsoft Windows 2000 上受支持。

发送时

当用户在 设备管理器 中单击设备的“疑难解答”按钮时。

谁处理

类共同安装程序

可以处理

设备共同安装程序

可以处理

类安装程序

可以处理

安装程序输入

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

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

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

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

安装程序输出

类安装参数
安装程序可能会修改 SP_TROUBLESHOOTER_PARAMS,设置 CHM 或 HTML 文件。

安装程序返回值

如果共同安装程序不处理此请求,它将从其预处理阶段返回NO_ERROR。

如果共同安装程序处理此请求,则它会在其后处理阶段执行此操作。 如果共同安装程序提供 CHM 和 HTML 文件,它会传播它收到的状态 (可能ERROR_DI_DO_DEFAULT) 。 如果共同安装程序运行疑难解答并修复了问题,则共同安装程序将返回NO_ERROR。 如果共同安装程序运行故障排除程序但未解决问题,它将传播 (ERROR_DI_DO_DEFAULT) 收到的状态。

如果类安装程序提供 CHM 文件和 HTML 文件,或者类安装程序运行疑难解答但未解决问题,则类安装程序将返回ERROR_DI_DO_DEFAULT。 Windows 随后将调用默认处理程序。

如果类安装程序启动自己的疑难解答并修复了问题,则类安装程序将返回NO_ERROR。 Windows 随后不会调用默认处理程序。

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

默认 DIF 代码处理程序

DIF_TROUBLESHOOTER没有默认处理程序,但操作系统提供默认的疑难解答程序,如果没有安装程序提供的疑难解答程序,则尝试解决设备问题。

安装程序操作

安装程序调用 CM_Get_DevNode_Status 以获取设备状态和 CM 问题代码。 根据问题,安装程序可能会提供疑难解答、帮助文件或什么内容。 疑难解答可以解决设备问题。 如果疑难解答解决了该问题,它应调用 SetupDiCallClassInstaller 以发送DICS_PROPCHANGE类型的DIF_PROPERTYCHANGE请求。 如果安装程序未为设备提供疑难解答,它可能会向用户提供解决问题建议的帮助文件。

如果没有安装程序运行自己的疑难解答,Windows 将运行 HTML 帮助向用户显示信息。 如果安装程序在类安装参数中提供了 CHM 文件,Windows 将显示该文件。 否则,Windows 将显示系统提供的故障排除信息。

类安装参数最多包含一个 ChmFileHtmlTroubleShooter 对。 如果多个安装程序指定这些值,Windows 将使用最后一个处理 DIF 请求的安装程序设置的值。

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

要求

版本

在 Windows Server 2003、Windows XP 和 Microsoft Windows 2000 中受支持。

标头

Setupapi.h (包括 Setupapi.h)

另请参阅

CM_Get_DevNode_Status

SP_DEVINFO_DATA

SP_DEVINSTALL_PARAMS

SP_TROUBLESHOOTER_PARAMS