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.
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.