Condividi tramite


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

Vedi anche