WUDF_INTERRUPT_WORKITEM funzione di callback (wudfinterrupt.h)
[Avviso: UMDF 2 è la versione più recente di UMDF e sostituisce UMDF 1. Tutti i nuovi driver UMDF devono essere scritti usando UMDF 2. Non vengono aggiunte nuove funzionalità a UMDF 1 ed è disponibile un supporto limitato per UMDF 1 nelle versioni più recenti di Windows 10. I driver di Windows universali devono usare UMDF 2. Per altre info, vedi Introduzione con UMDF.]
La funzione di callback dell'evento OnInterruptWorkItem di un driver elabora le informazioni di interruzione archiviate dalla funzione di callback OnInterruptIsr del driver.
Sintassi
WUDF_INTERRUPT_WORKITEM WudfInterruptWorkitem;
void WudfInterruptWorkitem(
[in] IWDFInterrupt *Interrupt,
[in] IWDFObject *AssociatedObject
)
{...}
Parametri
[in] Interrupt
Puntatore all'interfaccia dell'oggetto interrupt associata all'elemento di lavoro.
[in] AssociatedObject
Puntatore all'oggetto associato.
Valore restituito
nessuno
Osservazioni
Per registrare una funzione di callback OnInterruptWorkItem , il driver deve inserire l'indirizzo della funzione di callback in una struttura di WUDF_INTERRUPT_CONFIG prima di chiamare IWDFDevice3::CreateInterrupt.
Dopo aver arrestato e riconosciuto l'interrupt, il driver dovrebbe tornare rapidamente dal callback OnInterruptIsr , rinviando qualsiasi elaborazione aggiuntiva a un callback OnInterruptWorkItem .
Per altre informazioni sulla gestione degli interrupt nei driver UMDF, vedere Accesso ad interrupt hardware e gestione.
Esempio
Il tipo di funzione viene dichiarato in Wudfworkitem.h, come indicato di seguito.
typedef
_Function_class_(WUDF_INTERRUPT_WORKITEM)
VOID
WUDF_INTERRUPT_WORKITEM(
_In_
IWDFInterrupt* Interrupt,
_In_
IWDFObject* AssociatedObject
);
typedef WUDF_INTERRUPT_WORKITEM *PFN_WUDF_INTERRUPT_WORKITEM;
Per definire una funzione di callback OnInterruptWorkItem denominata MyInterruptWorkItem, è innanzitutto necessario fornire una dichiarazione di funzione richiesta da SDV e altri strumenti di verifica, come indicato di seguito:
WUDF_INTERRUPT_WORKITEM MyInterruptWorkItem;
Implementare quindi la funzione di callback come indicato di seguito:
VOID
MyInterruptWorkItem (
_In_
IWDFInterrupt* Interrupt,
_In_
IWDFObject* AssociatedObject
)
{…}
Requisiti
Requisito | Valore |
---|---|
Fine del supporto | Non disponibile in UMDF 2.0 e versioni successive. |
Piattaforma di destinazione | Desktop |
Versione UMDF minima | 1.11 |
Intestazione | wudfinterrupt.h |