设计 NDF 帮助程序类扩展
本主题旨在通过帮助程序类扩展开发过程提供一般指导。 本主题中的指南适用于所有帮助程序类扩展。 有关更具体的指南,请参阅 Windows 筛选平台可扩展帮助程序类 和 802.11 无线诊断可扩展帮助程序类。
扩展 NDF 功能
Windows Vista 和更高版本附带已实现的各种帮助程序类,可以诊断和修复各种问题。 但是,有时,第三方开发人员可能希望扩展这些帮助程序类,以诊断和解决特定于其特定产品和实现的问题。
以下 Microsoft NDF 帮助程序类是可扩展的。
实现帮助程序类扩展
Microsoft 提供了两个可用于开发 NDF 帮助程序类扩展的接口。
NDF 调用 INetDiagHelperInfo 接口来验证它是否具有所有必需的信息,以及它是否选择了正确的帮助程序类。 它通过 GetAttributeInfo 方法完成此操作。
NDF 为诊断过程中发生的大多数活动调用 INetDiagHelper 接口。 它的一些方法是必需的,但其他方法对于特定用途是可选的。
所需的方法包括 Initialize 和 GetDiagnosticsInfo。 NDF 调用 Initialize 以将关键参数发送到帮助程序类扩展以初始化其实例状态。 GetDiagnosticsInfo 提供诊断可能需要多长时间的估计值,以及它是否需要模拟原始用户上下文。
调用另一种方法 LowHealth,以对对应于帮助程序类的网络组件执行诊断。 NDF 确定应停止正在进行的诊断或修复时,将调用取消。 清理 允许 NDF 释放自调用 Initialize 以来帮助程序类扩展使用的 NDF 资源。
有关其他方法的信息,请参阅 INetDiagHelper。
NDF 帮助程序类扩展用于诊断和解决与特定应用程序或组件关联的连接问题。 它们还会验证解决尝试的成功或失败。
考虑实现帮助程序类扩展的开发人员应执行以下任务。
- 确定诊断和修复操作有用的用户方案。
- 为经常遇到的连接问题提供解决方案。
- 如果需要帮助程序类扩展,请定义一个组件运行状况模型,用于在 NDF 中表示组件的运行状况状态。
确定用户方案
应用程序的测试和使用可能已经提供了帮助程序类扩展能够诊断和修复的可识别模式。 应用程序开发人员可以使用此数据来确定要解决的最重要连接问题,并确定可能发生连接问题的用户方案。
确定每个问题的根本原因在过程的这一部分至关重要。 这可能需要广泛的研究,但将有助于创建用户和管理员更容易使用的软件。 如果未确定根本原因,则很难或不可能使用帮助程序类扩展解决问题。
提供解决方法
开发团队确定与其软件相关的问题的根本原因后,下一步是确定适当的解决方法操作,以帮助用户尽可能高效地解决问题。
并非所有解决方案都需要创建帮助程序类扩展或自动操作。 在某些情况下,团队可能会确定解决根本原因的最佳方法是修复或更新组件,为组件提供其他帮助内容,或制定其他策略来提供更好的长期解决方案。
对于自动操作是理想的问题,创建 NDF 帮助程序类扩展通常是一个很好的解决方案。
帮助程序类扩展通过 NDF 向用户返回有关根本原因和修复信息的信息。 用于描述根本原因和修复信息的字符串必须简单且易于非技术用户理解。 有关这些字符串的详细信息,请参阅 NDF 帮助程序类扩展的用户界面指南。
定义组件运行状况模型
软件开发人员应定义与网络问题的可管理性相关的“运行状况”级别。 用于开发帮助程序类的运行状况模型只定义了两个运行状况级别:正常和不正常。 这些级别还可以应用于 NDF 帮助程序类扩展。
正常组件表示不存在问题。 由于组件自身存在问题,或者由于它所依赖的其他组件中发生问题,组件可被视为不正常。
术语 | 说明 |
---|---|
LowHealth |
此状态表示此组件存在不可接受的故障级别,并且该组件是问题。 |
LowHealth Below |
此状态表示此组件所依赖的本地计算机组件出现不可接受的故障级别。 |
使用 NDF 进行诊断时,系统会询问帮助程序类扩展一系列问题,以确定其运行状况。 如果扩展响应为运行不正常,NDF 会询问澄清问题、尝试诊断问题、其位置和下一步查找位置。 每个帮助程序类必须能够回答低健康状况的问题,以便更好地指导适当的诊断活动。