WUDF_INTERRUPT_ENABLE funzione di callback (wudfinterrupt.h)
Avvertimento
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 informazioni, vedere Introduzione a UMDF.
La funzione di callback di un driver OnInterruptEnable abilita un interrupt hardware specificato.
Sintassi
WUDF_INTERRUPT_ENABLE WudfInterruptEnable;
HRESULT WudfInterruptEnable(
[in] IWDFInterrupt *Interrupt,
[in] IWDFDevice *AssociatedDevice
)
{...}
Parametri
[in] Interrupt
Puntatore all'interfaccia IWDFInterrupt.
[in] AssociatedDevice
Puntatore all'interfaccia IWDFDevice usata dal driver per chiamare CreateInterrupt.
Valore restituito
La funzione di callback deve restituire S_OK se l'operazione ha esito positivo. In caso contrario, il callback deve restituire uno dei codici di errore definiti in Winerror.h.
Osservazioni
Per registrare un OnInterruptEnable funzione di callback, il driver deve inserire l'indirizzo della funzione di callback in una struttura di WUDF_INTERRUPT_CONFIG prima di chiamare IWDFDevice::CreateInterrupt.
Il framework chiama il driver OnInterruptEnable funzione di callback ogni volta che il dispositivo entra nello stato di lavoro (D0). Inoltre, un driver può fare in modo che il framework chiami la funzione di callback OnInterruptEnable chiamando IWDFInterrupt::Enable.
Prima di chiamare il OnInterruptEnable funzione di callback, il framework acquisisce il blocco interrupt in modalità utente.
Dopo aver chiamato il OnInterruptEnable funzione di callback, il framework chiama la funzione di callback dell'evento OnD0EntryPostInterruptsEnabled del driver.
Per altre informazioni sulla gestione degli interrupt nei driver UMDF, vedere Accesso all'hardware e alla gestione degli interrupt.
Esempi
Il tipo di funzione viene dichiarato in Wudfinterrupt.h, come indicato di seguito.
typedef
__drv_functionClass(WUDF_INTERRUPT_ENABLE)
HRESULT
WUDF_INTERRUPT_ENABLE(
_In_
IWDFInterrupt* Interrupt,
_In_
IWDFDevice* AssociatedDevice
);
typedef WUDF_INTERRUPT_ENABLE *PFN_WUDF_INTERRUPT_ENABLE;
Per definire un OnInterruptEnable funzione di callback denominata MyInterruptEnable, è prima necessario fornire una dichiarazione di funzione richiesta da SDV e altri strumenti di verifica, come indicato di seguito:
WUDF_INTERRUPT_ENABLE MyInterruptEnable;
Implementare quindi la funzione di callback come segue:
HRESULT
MyInterruptEnable (
IN IWDFInterrupt* pInterrupt,
IN IWDFDevice* pAssociatedDevice
)
{…}
Fabbisogno
Requisito | Valore |
---|---|
Fine del supporto | Non disponibile in UMDF 2.0 e versioni successive. |
piattaforma di destinazione | Desktop |
versione minima di UMDF | 1.11 |
intestazione | wudfinterrupt.h |