次の方法で共有


NDF ヘルパー クラス拡張機能の設計

このトピックは、ヘルパー クラス拡張機能の開発プロセスを通じて一般的なガイダンスを提供することを目的としています。 このトピックのガイダンスは、すべてのヘルパー クラス拡張機能に適用されます。 より具体的なガイダンスについては、「 Windows フィルタリング プラットフォーム拡張可能ヘルパー クラス 」および 「802.11 ワイヤレス診断拡張可能ヘルパー クラス」を参照してください。

NDF 機能の拡張

Windows Vista 以降のバージョンには、さまざまな問題を診断および修復できるさまざまなヘルパー クラスが既に実装されています。 ただし、サードパーティの開発者は、特定の製品や実装に固有の問題を診断して解決するために、これらのヘルパー クラスを拡張したい場合があります。

次の Microsoft NDF ヘルパー クラスは拡張可能です。

ヘルパー クラス拡張機能の実装

Microsoft には、NDF ヘルパー クラス拡張機能の開発に使用できる 2 つのインターフェイスが付属しています。

INetDiagHelperInfo インターフェイスは、NDF によって呼び出され、必要なすべての情報があり、正しいヘルパー クラスが選択されていることを検証します。 これを実現するには、 GetAttributeInfo メソッドを使用します。

INetDiagHelper インターフェイスは、診断手順中に発生するほとんどのアクティビティに対して NDF によって呼び出されます。 いくつかのメソッドが必要ですが、特定の用途では省略可能なメソッドもあります。

必要なメソッドには、 InitializeGetDiagnosticsInfo が含まれます。 NDF は Initialize を呼び出して、キー パラメーターをヘルパー クラス拡張機能に送信してインスタンスの状態を初期化します。 GetDiagnosticsInfo では、診断にかかる時間と、元のユーザー コンテキストの偽装が必要かどうかを見積もることができます。

別のメソッド LowHealth が呼び出され、ヘルパー クラスに対応するネットワーク コンポーネントで診断が実行されます。 NDF が進行中の診断または修復を停止する必要があると判断すると、Cancel が呼び出されます。 クリーンアップ を使用すると、 NDF は Initialize の呼び出し以降にヘルパー クラス拡張機能が使用した NDF リソースを解放できます。

その他のメソッドの詳細については、「 INetDiagHelper」を参照してください。

NDF ヘルパー クラス拡張機能は、特定のアプリケーションまたはコンポーネントに関連する接続の問題を診断して解決するために使用されます。 また、解決試行の成功または失敗も検証します。

ヘルパー クラス拡張機能の実装を検討している開発者は、次のタスクを実行する必要があります。

  • 診断アクションと修復アクションが役立つユーザー シナリオを特定します。
  • 頻繁に発生する接続の問題に対する解決策を提供します。
  • ヘルパー クラス拡張機能が必要な場合は、NDF でコンポーネントの正常性状態を表すために使用されるコンポーネント正常性モデルを定義します。

ユーザー シナリオを特定する

アプリケーションのテストと使用により、ヘルパー クラス拡張機能が診断および修復できる可能性がある識別可能なパターンが既に提供されている可能性があります。 アプリケーション開発者は、このデータを使用して、対処する最も重要な接続の問題を特定し、接続の問題が発生する可能性があるユーザー シナリオを特定できます。

各問題の根本原因を特定することは、プロセスのこの部分で重要です。 これには広範な調査が必要になる場合がありますが、ユーザーと管理者が使用するソフトウェアをはるかに簡単に作成するのに役立ちます。 根本原因が特定されない場合、ヘルパー クラス拡張機能を使用して問題解決を提供することが困難または不可能になります。

解決策を提供する

開発チームがソフトウェアに関連する問題の根本原因を特定した後、次の手順は、ユーザーが問題をできるだけ効率的に解決できるように適切な解決アクションを特定することです。

すべての解決策で、ヘルパー クラス拡張機能または自動アクションを作成する必要はありません。 場合によっては、根本原因を解決するための最善のアプローチは、コンポーネントの修正または更新、コンポーネントの追加のヘルプ コンテンツの提供、またはより優れた長期的なソリューションを提供するその他の戦略の開発であるとチームが判断する場合があります。

自動アクションが理想的な問題の場合、多くの場合、NDF ヘルパー クラス拡張機能を作成することは優れたソリューションです。

ヘルパー クラス拡張機能は、NDF を介して根本原因と修復情報に関する情報をユーザーに返します。 根本原因と修復情報を記述するために使用される文字列は、非技術的なユーザーが理解できるように単純で簡単である必要があります。 これらの文字列の詳細については、「 NDF ヘルパー クラス拡張機能のユーザー インターフェイス ガイドライン」を参照してください。

コンポーネント正常性モデルを定義する

ソフトウェア開発者は、ネットワークの問題の管理容易性に関連する "正常性" のレベルを定義する必要があります。 ヘルパー クラスの開発に使用される正常性モデルでは、健康と異常の 2 つのレベルのみを定義します。 これらのレベルは、NDF ヘルパー クラス拡張機能にも適用できます。

正常なコンポーネントは、問題がないことを示します。 コンポーネントは、それ自体の問題や、依存する他のコンポーネントで発生する問題が原因で異常と見なされる可能性があります。

項目 説明
LowHealth
この状態は、このコンポーネントからの許容できないレベルの障害であり、コンポーネントが問題であることを示します。
LowHealth Below
この状態は、このコンポーネントが依存するローカル コンピューター コンポーネントからの許容できないレベルの障害を示します。

NDF を使用して診断が行われると、ヘルパー クラス拡張機能に一連の質問が行われ、その正常性状態が判断されます。 拡張機能が異常であると答えた場合、NDF は明確な質問を行い、問題、その場所、次の場所を診断しようとしています。 適切な診断アクティビティをより適切に指示するには、各ヘルパー クラスが低正常性の質問に答えることができる必要があります。

Windows フィルタリング プラットフォームの拡張可能なヘルパー クラス

802.11 ワイヤレス診断拡張可能ヘルパー クラス