Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ein allgemeines I/O-Controllergerät (GPIO) wird durch ein Framework-Geräteobjekt dargestellt. Der GPIO-Controllertreiber kann einen Gerätekontext diesem Geräteobjekt zuordnen. Der Treiber verwendet diesen Gerätekontext, um Informationen zum Zustand des GPIO-Controllergeräts dauerhaft zu speichern.
Wenn die GPIO-Frameworkerweiterung (GpioClx) eine Ereignisrückruffunktion aufruft, die vom Treiber implementiert wird, übergibt GpioClx den Gerätekontext als Parameter an diese Funktion. Die Rückruffunktion untersucht den Gerätekontext, um den aktuellen Zustand des Geräts zu ermitteln. Wenn die Funktion diesen Zustand ändert, aktualisiert sie den Gerätekontext entsprechend.
GpioClx weist den Speicher für ein Geräteobjekt zu. Wenn ein GPIO-Controllertreiber mehrere Geräteobjekte aufweist, ist der Gerätekontext für jedes dieser Objekte dieselbe Größe. Während der DriverEntry-Routine ruft der Treiber die GPIO_CLX_RegisterClient-Methode auf, um seine Rückruffunktionen zu registrieren und die benötigten Gerätekontextgröße anzugeben. Später ruft der Treiber während der EvtDriverDeviceAdd-Rückrufroutine die GPIO_CLX_ProcessAddDevicePostDeviceCreate Methode auf, um das neue Geräteobjekt an GpioClx zu übergeben, und GpioClx weist den Gerätekontext für dieses Objekt zu. Wenn GpioClx anschließend eine vom Treiber implementierte Rückruffunktion aufruft, wird dieser Gerätekontext als Parameter an die Funktion übergeben.