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