DIF_TROUBLESHOOTER
DIF_TROUBLESHOOTER要求可讓安裝程式啟動裝置的疑難排解員,或傳回 CHM 和 HTM 疑難排解員檔案,讓 Windows 啟動。
注意 只有 Windows Server 2003、Windows XP 和 Microsoft Windows 2000 才支援此 DIF 程式碼。
傳送時
當使用者在 裝置管理員 中按一下裝置的 [疑難排解員] 按鈕時。
誰處理
類別共同安裝程式 |
可以處理 |
裝置共同安裝程式 |
可以處理 |
類別安裝程式 |
可以處理 |
安裝程式輸入
DeviceInfoSet
提供包含 裝置之裝置資訊集 的控制碼。
DeviceInfoData
提供 SP_DEVINFO_DATA 結構的指標,以識別裝置資訊集中的裝置。
裝置安裝參數
與DeviceInfoData相關聯的裝置安裝參數 (SP_DEVINSTALL_PARAMS) 。
類別安裝參數
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) |