Share via


Entwerfen von NDF-Hilfsklassenerweiterungen

Dieses Thema soll generische Anleitungen über den Entwicklungsprozess der Hilfsklassenerweiterung bereitstellen. Die Anleitung in diesem Thema gilt für alle Hilfsklassenerweiterungen. Spezifischere Anleitungen finden Sie unter Windows Filtering Platform Extensible Helper Class und 802.11 Wireless Diagnostics Extensible Helper Classes.

Erweitern der NDF-Funktionalität

Windows Vista und höhere Versionen werden mit einer Vielzahl von Hilfsklassen ausgeliefert, die bereits implementiert sind und eine Vielzahl von Problemen diagnostizieren und beheben können. Manchmal möchten Entwickler von Drittanbietern diese Hilfsklassen jedoch möglicherweise erweitern, um Probleme zu diagnostizieren und zu beheben, die für ihre spezifischen Produkte und Implementierungen spezifisch sind.

Die folgenden Microsoft NDF-Hilfsklassen sind erweiterbar.

Implementieren einer Hilfsklassenerweiterung

Microsoft liefert zwei Schnittstellen, mit denen NDF-Hilfsklassenerweiterungen entwickelt werden können.

Die INetDiagHelperInfo-Schnittstelle wird von NDF aufgerufen, um zu überprüfen, ob sie über alle erforderlichen Informationen verfügt und ob sie die richtige Hilfsklasse ausgewählt hat. Dies wird mithilfe der GetAttributeInfo-Methode erreicht.

Die INetDiagHelper-Schnittstelle wird von NDF für die meisten Aktivitäten aufgerufen, die während des Diagnosevorgangs auftreten. Mehrere seiner Methoden sind erforderlich, aber andere sind optional für bestimmte Verwendungszwecke.

Zu den erforderlichen Methoden gehören Initialize und GetDiagnosticsInfo. NDF ruft Initialize auf, um Schlüsselparameter an die Hilfsklassenerweiterung zu senden, um den instance Zustand zu initialisieren. GetDiagnosticsInfo bietet eine Schätzung, wie lange die Diagnose dauern kann und ob ein Identitätswechsel des ursprünglichen Benutzerkontexts erforderlich ist.

Eine andere Methode, LowHealth, wird aufgerufen, um die Diagnose für die Netzwerkkomponente durchzuführen, die der Hilfsklasse entspricht. Cancel wird aufgerufen, wenn NDF feststellt, dass eine laufende Diagnose oder Reparatur beendet werden soll. Cleanup ermöglicht es NDF, NDF-Ressourcen freizugeben, die die Hilfsklassenerweiterung seit dem Aufruf von Initialize verwendet hat.

Informationen zu zusätzlichen Methoden finden Sie unter INetDiagHelper.

NDF-Hilfsklassenerweiterungen werden verwendet, um Konnektivitätsprobleme im Zusammenhang mit einer bestimmten Anwendung oder Komponente zu diagnostizieren und zu beheben. Sie überprüfen auch den Erfolg oder Misserfolg eines Lösungsversuchs.

Entwickler, die die Implementierung einer Hilfsklassenerweiterung in Betracht ziehen, sollten die folgenden Aufgaben ausführen.

  • Identifizieren Sie Benutzerszenarien, in denen Diagnose- und Reparaturaktionen hilfreich sind.
  • Stellen Sie Lösungen für häufig auftretende Konnektivitätsprobleme bereit.
  • Wenn eine Hilfsklassenerweiterung erforderlich ist, definieren Sie ein Komponentenintegritätsmodell, das verwendet wird, um den Integritätszustand der Komponente in NDF darzustellen.

Identifizieren von Benutzerszenarien

Das Testen und Verwenden einer Anwendung hat möglicherweise bereits erkennbare Muster geliefert, die eine Hilfsklassenerweiterung möglicherweise diagnostizieren und möglicherweise reparieren kann. Anwendungsentwickler können diese Daten verwenden, um die wichtigsten Konnektivitätsprobleme zu ermitteln und die Benutzerszenarien zu identifizieren, in denen Wahrscheinlichkeitsprobleme auftreten.

Die Ermittlung der Grundursache jedes Problems ist in diesem Teil des Prozesses von entscheidender Bedeutung. Dies erfordert möglicherweise umfangreiche Recherchen, hilft aber bei der Erstellung von Software, die für Benutzer und Administratoren viel einfacher zu verwenden ist. Wenn eine Grundursache nicht identifiziert wird, wird es schwierig oder unmöglich, eine Problemlösung mithilfe der Hilfsklassenerweiterung anzubieten.

Bereitstellen von Auflösungen

Nachdem ein Entwicklungsteam die Grundursachen für Probleme im Zusammenhang mit seiner Software identifiziert hat, besteht der nächste Schritt darin, die geeigneten Lösungsmaßnahmen zu identifizieren, um dem Benutzer dabei zu helfen, das Problem so effizient wie möglich zu lösen.

Nicht für alle Lösungen muss eine Hilfsklassenerweiterung oder eine automatisierte Aktion erstellt werden. In einigen Fällen kann das Team feststellen, dass der beste Ansatz zur Behebung einer Grundursache darin besteht, die Komponente zu beheben oder zu aktualisieren, zusätzliche Hilfeinhalte für die Komponente bereitzustellen oder andere Strategien zu entwickeln, die bessere langfristige Lösungen bieten.

Für Probleme, bei denen eine automatisierte Aktion ideal ist, ist das Erstellen einer NDF-Hilfsklassenerweiterung häufig eine hervorragende Lösung.

Hilfsklassenerweiterungen geben Informationen zu Grundursachen und Reparaturinformationen an Benutzer über NDF zurück. Die Zeichenfolgen, die zum Beschreiben der Grundursachen und Reparaturinformationen verwendet werden, müssen für einen nicht technischen Benutzer einfach und leicht zu verstehen sein. Weitere Informationen zu diesen Zeichenfolgen finden Sie unter Benutzeroberflächenrichtlinien für NDF-Hilfsklassenerweiterungen.

Definieren eines Komponentenintegritätsmodells

Softwareentwickler sollten Ebenen der "Integrität" definieren, die mit der Verwaltbarkeit von Netzwerkproblemen verbunden sind. Ein Integritätsmodell, das zum Entwickeln von Hilfsklassen verwendet wird, definiert nur zwei Integritätsebenen: fehlerfrei und fehlerhaft. Diese Ebenen können auch auf Erweiterungen von NDF-Hilfsklassen angewendet werden.

Eine fehlerfreie Komponente weist auf das Fehlen von Problemen hin. Eine Komponente kann aufgrund eigener Probleme oder aufgrund von Problemen in anderen Komponenten, von denen sie abhängt, als fehlerhaft eingestuft werden.

Begriff BESCHREIBUNG
LowHealth
Dieser Zustand weist auf ein inakzeptables Ausmaß von Fehlern dieser Komponente hin, und dass die Komponente das Problem darstellt.
LowHealth unten
Dieser Zustand weist auf ein inakzeptables Ausmaß von Fehlern einer lokalen Computerkomponente hin, von der diese Komponente abhängt.

Wenn die Diagnose mithilfe von NDF erfolgt, werden der Hilfsklassenerweiterung eine Reihe von Fragen gestellt, um ihren Integritätsstatus zu bestimmen. Wenn die Erweiterung darauf antwortet, dass sie fehlerhaft ist, stellt NDF klärende Fragen und versucht, das Problem zu diagnostizieren, seinen Speicherort und wo es als nächstes zu suchen ist. Jede Hilfsklasse muss in der Lage sein, die Frage nach einer niedrigen Integrität zu beantworten, um geeignete Diagnoseaktivitäten besser leiten zu können.

Extensible Helper-Klasse der Windows-Filterplattform

802.11 Wireless Diagnostics Extensible Helper Classes