Freigeben über


GpioClx DDI

Der GPIO-Controllertreiber (General-Purpose E/O) kommuniziert mit der GPIO-Frameworkerweiterung (GpioClx) über die GpioClx-Gerätetreiberschnittstelle (DDI). Dieser DDI wird in der Gpioclx.h-Headerdatei definiert und in GPIO-Treiberreferenz (General-Purpose E/O) beschrieben. Als Teil dieses DDI implementiert GpioClx mehrere Treiberunterstützungsmethoden, die vom GPIO-Controllertreiber aufgerufen werden. Dieser Treiber implementiert eine Reihe von Ereignisrückruffunktionen, die von GpioClx aufgerufen werden. GpioClx verwendet diese Rückrufe, um Interruptanforderungen von GPIO-Pins zu verwalten, die als Interrupteingaben konfiguriert sind, und um Daten an oder von GPIO-Pins zu übertragen, die als Dateneingaben und -ausgaben konfiguriert sind.

In diesem Abschnitt

Thema Beschreibung

Treiberunterstützungsmethoden im GpioClx DDI

Die GPIO-Frameworkerweiterung (GpioClx) ist ab Windows 8 verfügbar. Die vom System bereitgestellten Methoden in GpioClx DDI werden im GpioClx-Kernelmodustreiber implementiert, Msgpioclx.sys. Dieser Treiber exportiert Einstiegspunkte für die GpioClx-Treiberunterstützungsmethoden. Ab Windows 8 ist Msgpioclx.sys eine Standardkomponente des Betriebssystems.

Optionale und erforderliche GPIO-Rückruffunktionen

Ein GPIO-Controllertreiber (General Purpose E/O) ruft die GPIO_CLX_RegisterClient-Methode auf, um sich als Client der GPIO-Frameworkerweiterung (GpioClx) zu registrieren. Während dieses Aufrufs übergibt der Treiber ein Registrierungspaket an GpioClx, das eine Liste der vom Treiber implementierten Ereignisrückruffunktionen angibt. GpioClx ruft diese Rückruffunktionen auf, um die GPIO-Controllerhardware zu konfigurieren, E/A-Vorgänge auszuführen und Interrupts zu verwalten. GpioClx erfordert einen GPIO-Controllertreiber, um bestimmte Rückruffunktionen zu implementieren, aber die Unterstützung für andere Rückruffunktionen ist optional.

GPIO-Gerätekontexte

Ein GPIO-Controllergerät (General Purpose E/O) wird durch ein Frameworkgeräteobjekt dargestellt. Der GPIO-Controllertreiber kann diesem Geräteobjekt einen Gerätekontext zuordnen. Der Treiber verwendet diesen Gerätekontext, um Informationen zum Zustand des GPIO-Controllergeräts dauerhaft zu speichern.

Partitionieren eines GPIO-Controllers in Pinbanken

Ein Treiberentwickler kann optional ein GPIO-Controllergerät (General Purpose E/O) in zwei oder mehr GpIO-Pins partitionieren. Beispielsweise kann ein GPIO-Controllergerät mit 64 GPIO-Pins vom GPIO-Controllertreiber als zwei Banken beschrieben werden, die jeweils über 32 GPIO-Pins verfügen.

Implementierungsprobleme für GPIO-Controllertreiber

Die GPIO-Frameworkerweiterung (GpioClx) bietet eine flexible Gerätetreiberschnittstelle (DDI). Mit diesem DDI können Entwickler zwischen alternativen Rückrufschnittstellen wählen. Ein Treiberentwickler sollte den Satz von Ereignisrückruffunktionen implementieren, der am besten für die Hardwarearchitektur des GPIO-Zielcontrollergeräts geeignet ist.