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 |