WUDF_INTERRUPT_ENABLE 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. Nessuna nuova funzionalità viene aggiunta 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 con UMDF.

La funzione di callback dell'evento OnInterruptEnable di un driver consente un interruzione 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.

Commenti

Per registrare una funzione di callback OnInterruptEnable , 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 la funzione di callback OnInterruptEnable del driver ogni volta che il dispositivo entra nello stato di lavoro (D0). Inoltre, un driver può causare che il framework chiami la funzione di callback OnInterruptEnable chiamando IWDFInterrupt::Enable.

Prima di chiamare la funzione callback OnInterruptEnable , il framework acquisisce il blocco di interruzioni in modalità utente.

Dopo aver chiamato la funzione di callback OnInterruptEnable , il framework chiama la funzione di callback dell'evento OnD0EntryPostInterruptsEnabled .

Per altre informazioni sulla gestione degli interruzioni nei driver UMDF, vedere Accesso agli interruzioni hardware e gestione.

Esempio

Il tipo di funzione è 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 una funzione di callback OnInterruptEnable 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 indicato di seguito:

HRESULT
  MyInterruptEnable (
    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