WUDF_INTERRUPT_DISABLE 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 OnInterruptDisable di un driver disabilita un interrupt hardware specificato.
Sintassi
WUDF_INTERRUPT_DISABLE WudfInterruptDisable;
HRESULT WudfInterruptDisable(
[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
OnInterruptDisable 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.
Commenti
Per registrare una funzione di callback OnInterruptDisable , il driver deve inserire l'indirizzo della funzione di callback in una struttura WUDF_INTERRUPT_CONFIG prima di chiamare IWDFDevice::CreateInterrupt.
Il framework chiama la funzione di callback OnInterruptDisable del driver ogni volta che il dispositivo lascia lo stato di lavoro (D0). Inoltre, un driver può causare la chiamata del framework alla funzione di callback OnInterruptDisable chiamando IWDFInterrupt::D isable.
Prima di chiamare la funzione di callback OnInterruptDisable , il framework chiama la funzione di callback dell'evento OnD0ExitPreInterruptsDisabled del driver e acquisisce il blocco interrupt in modalità utente.
Per altre informazioni sulla gestione degli interrupt nei driver UMDF, vedere Accesso ad interrupt hardware e gestione.
Esempio
Il tipo di funzione è dichiarato in Wudfinterrupt.h, come indicato di seguito.
typedef
__drv_functionClass(WUDF_INTERRUPT_DISABLE)
HRESULT
WUDF_INTERRUPT_DISABLE(
_In_
IWDFInterrupt* Interrupt,
_In_
IWDFDevice* AssociatedDevice
);
typedef WUDF_INTERRUPT_DISABLE *PFN_WUDF_INTERRUPT_DISABLE;
Per definire una funzione di callback OnInterruptDisable denominata MyInterruptDisable, è innanzitutto necessario fornire una dichiarazione di funzione richiesta da SDV e altri strumenti di verifica, come indicato di seguito:
WUDF_INTERRUPT_DISABLE MyInterruptDisable;
Implementare quindi la funzione di callback come indicato di seguito:
HRESULT
MyInterruptDisable (
IN IWDFInterrupt* pInterrupt,
IN IWDFDevice* pAssociatedDevice
)
{…}
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 |