Hardwarebenachrichtigungen
Windows bietet 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.
Um Hardwarebenachrichtigungen zu unterstützen, benötigen Sie Folgendes:
Enumerationen
HWN_CLX_EXPORT_INDEX Definiert die Position für die einzelnen Hardwarebenachrichtigungsexporte in der Exporttabelle. |
Functions
HWN_CLIENT_GET_STATE Wird vom Clienttreiber implementiert, um den Zustand der Hardwarebenachrichtigungskomponente abzurufen. Sie wird aufgerufen, wenn ein Benutzer status Informationen anfordert. |
HWN_CLIENT_INITIALIZE_DEVICE Wird vom Clienttreiber implementiert und als Ergebnis eines Aufrufs von EVT_WDF_DEVICE_PREPARE_HARDWARE aufgerufen. |
HWN_CLIENT_QUERY_DEVICE_INFORMATION Wird vom Clienttreiber implementiert, um Hardwarebenachrichtigungskomponentenattribute abzurufen. |
HWN_CLIENT_SET_STATE Wird vom Clienttreiber implementiert, um den Zustand der Hardwarebenachrichtigungskomponente festzulegen. Sie wird aufgerufen, wenn ein Benutzer den Zustand eines Treibers ändern möchte. |
HWN_CLIENT_START_DEVICE Wird vom Clienttreiber implementiert, um die Hardwarebenachrichtigungskomponente zu starten. Sie wird als Ergebnis eines Aufrufs von EVT_WDF_DEVICE_D0_ENTRY aufgerufen. |
HWN_CLIENT_STOP_DEVICE Vom Clienttreiber implementiert, UM die Hardwarebenachrichtigungskomponente zu starten. Sie wird als Ergebnis eines Aufrufs von EVT_WDF_DEVICE_D0_EXIT aufgerufen. |
HWN_CLIENT_UNINITIALIZE_DEVICE Wird vom Clienttreiber implementiert und als Ergebnis eines Aufrufs von EVT_WDF_DEVICE_RELEASE_HARDWARE aufgerufen. Mit dieser Rückruffunktion wird die Hardwarebenachrichtigungskomponente initialisiert. |
HwNProcessAddDevicePostDeviceCreate Erstellt E/A-Warteschlangen. Sie sollte aufgerufen werden, nachdem die EVT_WDF_DRIVER_DEVICE_ADD Rückruffunktion des Clienttreibers aufgerufen und das Geräteobjekt erstellt wurde. |
HwNProcessAddDevicePreDeviceCreate Stellt die Gerätevorbereitungs-,Freigabe- und Ein-/Ausstiegsrückrufe an die Windows Driver Foundation (WDF) bereit, um das Gerät in verschiedene Zustände zu übergehen. |
HwNRegisterClient Registriert den Hardwarebenachrichtigungsclienttreiber und die zugehörigen Rückruffunktionen bei der Klassenerweiterung. |
HwNUnregisterClient Hebt die Registrierung des Hardwarebenachrichtigungsclienttreibers und seiner Rückruffunktionen mit der Klassenerweiterung auf. Diese Funktion sollte aufgerufen werden, wenn der Clienttreiber entladen wird. |
Strukturen
CLIENT_DEVICE_INFORMATION Die CLIENT_DEVICE_INFORMATION-Struktur wird vom Hardwarebenachrichtigungsrückruf HWN_CLIENT_QUERY_DEVICE_INFORMATION verwendet, um die Gesamtzahl der Hardwarebenachrichtigungen zurückzugeben, die der Clientgerätetreiber bereitstellt. |
HWN_CLIENT_REGISTRATION_PACKET Hardwarebenachrichtigungs-Clienttreiberregistrierungspaket, das an die Klassenerweiterung übergeben wird, wenn ein Clienttreiber registriert wird. Enthält Versionsinformationen und Clienttreiberrückruffunktionen. |