Freigeben über


WUDF_INTERRUPT_WORKITEM Rückruffunktion (wudfinterrupt.h)

[Warnung: UMDF 2 ist die neueste Version von UMDF und ersetzt UMDF 1. Alle neuen UMDF-Treiber sollten mit UMDF 2 geschrieben werden. UMDF 1 werden keine neuen Features hinzugefügt, und die Unterstützung für UMDF 1 in neueren Versionen von Windows 10 ist eingeschränkt. Universelle Windows-Treiber müssen UMDF 2 verwenden. Weitere Informationen finden Sie unter Erste Schritte mit UMDF.]

Die OnInterruptWorkItem-Ereignisrückruffunktion eines Treibers verarbeitet Interruptinformationen, die von der OnInterruptIsr-Rückruffunktion des Treibers gespeichert wurden.

Syntax

WUDF_INTERRUPT_WORKITEM WudfInterruptWorkitem;

void WudfInterruptWorkitem(
  [in] IWDFInterrupt *Interrupt,
  [in] IWDFObject *AssociatedObject
)
{...}

Parameter

[in] Interrupt

Ein Zeiger auf die Interruptobjektschnittstelle, die dem Arbeitselement zugeordnet ist.

[in] AssociatedObject

Ein Zeiger auf das zugeordnete Objekt.

Rückgabewert

Keine

Bemerkungen

Um eine OnInterruptWorkItem-Rückruffunktion zu registrieren, muss ihr Treiber die Adresse der Rückruffunktion in einer WUDF_INTERRUPT_CONFIG-Struktur platzieren, bevor IWDFDevice3::CreateInterrupt aufgerufen wird.

Nach dem Beenden und Bestätigen des Interrupts sollte der Treiber schnell von seinem OnInterruptIsr-Rückruf zurückkehren und jede zusätzliche Verarbeitung auf einen OnInterruptWorkItem-Rückruf verschieben.

Weitere Informationen zur Behandlung von Interrupts in UMDF-Treibern finden Sie unter Zugreifen auf Hardware und Behandeln von Interrupts.

Beispiele

Der Funktionstyp wird in Wudfworkitem.h wie folgt deklariert.

typedef
_Function_class_(WUDF_INTERRUPT_WORKITEM)
VOID
WUDF_INTERRUPT_WORKITEM(
    _In_
    IWDFInterrupt* Interrupt,
    _In_
    IWDFObject* AssociatedObject
    );

typedef WUDF_INTERRUPT_WORKITEM *PFN_WUDF_INTERRUPT_WORKITEM;

Um eine OnInterruptWorkItem-Rückruffunktion namens MyInterruptWorkItem zu definieren, müssen Sie zunächst wie folgt eine Funktionsdeklaration bereitstellen, die SDV und andere Überprüfungstools erfordern:

WUDF_INTERRUPT_WORKITEM  MyInterruptWorkItem;

Implementieren Sie dann Ihre Rückruffunktion wie folgt:

VOID
  MyInterruptWorkItem (
    _In_
    IWDFInterrupt* Interrupt,
    _In_
    IWDFObject* AssociatedObject
    )
  {…}

Anforderungen

Anforderung Wert
Ende des Supports In UMDF 2.0 und höher nicht verfügbar.
Zielplattform Desktop
UMDF-Mindestversion 1.11
Kopfzeile wudfinterrupt.h

Weitere Informationen

IWDFDevice3::CreateInterrupt

WUDF_INTERRUPT_CONFIG