Freigeben über


Unterstützung von Hardwarebenachrichtigungen

Zielgruppe

  • Treiberentwickler und OEMs

Wichtige APIs

Windows 10 bietet Version 1709 eine Infrastruktur für die hardwareunabhängige Unterstützung von Benachrichtigungskomponenten wie LEDs und Vibrationsmechanismen. Diese Unterstützung wird durch die Einführung einer KMDF-Klassenerweiterung (Kernel-Mode Driver Framework) speziell für Hardwarebenachrichtigungskomponenten bereitgestellt, die eine schnelle Entwicklung von Clienttreibern ermöglichen. Eine KMDF-Klassenerweiterung ist im Wesentlichen ein KMDF-Treiber, der einen definierten Satz von Funktionen für eine bestimmte Geräteklasse bereitstellt, ähnlich einem Porttreiber im Windows-Treibermodell (WDM). Dieser Abschnitt bietet eine Übersicht über die Architektur der Hardwarebenachrichtigungsklassenerweiterung. Weitere Informationen zum KMDF finden Sie unter Verwenden von WDF zum Entwickeln eines Treibers.

Hardwarebenachrichtigungsklassenerweiterung

Die Hardwarebenachrichtigungsklassenerweiterung ist die zentrale Komponente der Architektur des Hardwarebenachrichtigungstreibers. Die Klassenerweiterung wurde entwickelt, um die erforderliche Interaktion mit dem KMDF zu minimieren und stattdessen eine einfache Schnittstelle für die Steuerung von Benachrichtigungskomponenten bereitzustellen. Die Klassenerweiterung verarbeitet Aufgaben wie:

  • Registrierung von Clienttreibern
  • Zuordnung und Bereinigung von Systemressourcen
  • Registrierung von PnP-Power-Rückruffunktionen für Clienttreiber
  • Registrierung von E/A-Warteschlangen für Clienttreiber
  • Datenüberprüfung und Fehlerüberprüfung
  • Kommunikation von Hardwareanforderungen an den Clienttreiber

Das folgende Diagramm veranschaulicht die grundlegende Architektur der Hardwarebenachrichtigungsklassenerweiterung.

hwn clx-Architektur.

Hardwarebenachrichtigungsclienttreiber

Clienttreiber können mit der Hardwarebenachrichtigungsklassenerweiterung problemlos für Hardwarebenachrichtigungskomponenten generiert werden. Die einzige Verantwortung des Clienttreibers besteht darin, die entsprechenden Einstiegspunkte für die KMDF bereitzustellen, die definierten Rückruffunktionen für Klassenerweiterungen zu implementieren, Energiezustände zu verwalten und die physische Hardware zu steuern. Insbesondere muss der Clienttreiber die Rückruffunktionen DriverEntry und EVT_WDF_DRIVER_DEVICE_ADD zur Verwendung durch die Windows Driver Foundation (WDF) sowie die erforderlichen Rückruffunktionen für die Klassenerweiterung implementieren.

Das folgende Diagramm veranschaulicht die Interaktionen aus der Perspektive des Clienttreibers.

Clienttreiber arch.