本主題旨在透過輔助類別的擴充開發過程提供一般指導。 本主題中的指引適用於所有協助程序類別延伸模組。 如需更具體的指引,請參閱 Windows 篩選平臺可延伸協助程式類別 和 802.11 無線診斷可延伸協助程式類別。
擴充 NDF 功能
Windows Vista 和更新版本隨附已實作的各種協助程序類別,可診斷和修復各種問題。 不過,有時候,第三方開發人員可能會想要擴充這些協助程序類別,以診斷和解決其特定產品和實作特有的問題。
下列Microsoft NDF 協助程式類別是可延伸的。
實作輔助類別擴充功能
Microsoft提供兩個介面,可用來開發 NDF 協助程式類別延伸模組。
NDF 會呼叫 INetDiagHelperInfo 介面,以驗證其具有所有必要的資訊,以及它已選擇正確的協助程序類別。 它會透過 GetAttributeInfo 方法來達成此目的。
NDF 會在診斷過程中進行的大部分活動中呼叫 INetDiagHelper 介面。 有幾個方法是必須的,但其他方法則可以視其特定用途選擇。
必要的方法包括 初始化 和 獲取診斷信息。 NDF 會呼叫 Initialize,以將密鑰參數傳送至協助程式類別延伸模組,以初始化其實例狀態。 GetDiagnosticsInfo 提供診斷可能需要的估計時間,以及是否需要模擬原始用戶上下文。
另一個名為 LowHealth的方法被呼叫,以對應至協助程式類別的網路元件上執行診斷。 當 NDF 判斷應停止進行中的診斷或修復時, 會被呼叫取消。 清除 允許 NDF 釋放在呼叫 Initialize 之後協助程式類別延伸模組所使用的 NDF 資源。
如需其他方法的詳細資訊,請參閱 INetDiagHelper。
NDF 協助程式類別延伸模組可用來診斷和解決與特定應用程式或元件相關聯的連線問題。 它們也會驗證解決嘗試的成功或失敗。
考慮協助程式類別延伸模組實作的開發人員應該執行下列工作。
- 識別診斷和修復動作很有幫助的使用者案例。
- 提供經常遇到連線問題的解決方案。
- 如果需要協助程式類別延伸模組,請定義元件健康情況模型,用來代表 NDF 中的元件健康情況狀態。
識別使用者案例
測試及使用應用程式可能已經顯示出一些可辨識的模式,而這些模式可能由輔助類別的擴充功能進行診斷及可能的修復。 應用程式開發人員可以使用此數據來判斷要解決的最重要連線問題,以及識別可能發生連線問題的使用者案例。
判斷每個問題的根本原因對於此過程的這一部分至關重要。 這可能需要廣泛的研究,但將有助於建立讓用戶和系統管理員更容易使用的軟體。 如果未識別根本原因,使用協助程序類別延伸模組提供問題解決會變得困難或不可能。
提供解決方案
在開發小組找出與其軟體相關的問題根本原因之後,下一個步驟是找出適當的解決動作,以協助用戶盡可能有效率地解決問題。
並非所有解決方案都需要建立協助程序類別延伸模組或自動化動作。 在某些情況下,小組可能會判斷解決根本原因的最佳方法是修正或更新元件、為元件提供額外的說明內容,或開發其他策略來提供更好的長期解決方案。
對於自動化動作理想的問題,建立 NDF 協助程式類別擴充通常是絕佳的解決方案。
協助程式類別延伸模組會透過 NDF 提供根本原因及修復方法的信息給使用者。 用來描述根本原因和修復資訊的字串必須簡單易懂,非技術使用者才能瞭解。 如需這些字串的詳細資訊,請參閱 NDF 協助程式類別延伸模組的使用者介面指導方針。
定義元件健康情況模型
軟體開發人員應定義與網路問題管理能力相關聯的「健康情況」層級。 用於開發輔助類的健康模型只定義兩個健康層級:健康和不健康。 這些層級也可以套用至 NDF 輔助類別擴展。
狀況良好的元件表示沒有問題。 元件可能會因為自己的問題而被視為狀況不良,或因為其他相依元件發生問題。
| 術語 | 描述 |
|---|---|
|
低健康 |
此狀態表示此元件失敗的無法接受的程度,且元件才是問題所在。 |
|
低健康值下方 |
此狀態表示此元件依賴的本地機器元件出現了無法接受的故障層級。 |
使用 NDF 進行診斷時,會向輔助類別擴展提出一系列問題,以檢查其健康狀態。 如果延伸模組回應其狀況不良,NDF 會提出釐清問題的問題,嘗試診斷問題本身、其發生位置,以及下一步應查看的地方。 每個協助程式類別都必須能夠回答低健康情況的問題,才能更好地引導適當的診斷活動。