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 将显示系统提供的故障排除信息。
类安装参数最多包含一个 ChmFile 和 HtmlTroubleShooter 对。 如果多个安装程序指定这些值,Windows 将使用最后一个处理 DIF 请求的安装程序设置的值。
有关 DIF 代码的详细信息,请参阅 处理 DIF 代码。
要求
版本 |
在 Windows Server 2003、Windows XP 和 Microsoft Windows 2000 中受支持。 |
标头 |
Setupapi.h (包括 Setupapi.h) |