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.
Treiber für Peripheriegeräte, die Unterbrechungen an allgemeine I/O-GPIO-Pins senden, erwerben GPIO-Interrupts als abstrakte Interrupt-Ressourcen von Windows. Kernelmodustreiberframework (KMDF)-Treiber und UMDF-Treiber (User-Mode Driver Framework ) empfangen diese Ressourcen über ihre EvtDevicePrepareHardware-Ereignisrückruffunktionen .
Peripheriegerätetreiber, die GPIO-basierte Interruptressourcen verwenden, können Details zur Implementierung auf niedriger Ebene ignorieren, z. B. ob ein Interrupt durch einen GPIO-Pin anstelle eines Interruptcontrollers oder durch einen Interrupt-Pin auf einem Prozessorchip generiert wird.
Ein GPIO-basierter Interrupt ist eine Ressource vom Typ CmResourceTypeInterrupt. Die Konfigurationsparameter für diesen Interrupt sind im u.Interrupt-Element der CM_PARTIAL_RESOURCE_DESCRIPTOR-Struktur enthalten, die die Interruptressource beschreibt. Um eine Unterbrechungsdienstroutine (Interrupt Service Routine, ISR) mit einem Interrupt zu verbinden, liefert ein UMDF- oder KMDF-Treiber sowohl die unformatierten als auch übersetzten Beschreibungen der Interruptressource an eine Interrupterstellungsmethode.
Der KMDF- oder UMDF-Treiber für ein Peripheriegerät ruft die WdfInterruptCreate-Methode auf, um einen ISR mit dem Interrupt vom Gerät zu verbinden. Einer der Eingabeparameter für diese Methode ist ein Zeiger auf eine WDF_INTERRUPT_CONFIG Struktur, die Konfigurationsinformationen für den Interrupt enthält.
Wenn ein Peripheriegerätetreiber mehr als eine GPIO-Interruptressource verwendet, muss dieser Treiber die Reihenfolge kennen, in der diese Ressourcen in den rohen und übersetzten Ressourcenlisten angezeigt werden, die als Eingabeparameter für die EvtDevicePrepareHardware-Funktion oder die OnPrepareHardware-Methode bereitgestellt werden. Die Ressourcen in diesen Listen werden in der Reihenfolge angezeigt, in der sie in der Plattformfirmware beschrieben werden, die mit der vom Treiber erwarteten Reihenfolge übereinstimmen muss.