Condividi tramite


struttura WUDF_INTERRUPT_CONFIG (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 informazioni, vedi Introduzione a UMDF.]

La struttura WUDF_INTERRUPT_CONFIG contiene informazioni di configurazione per un interrupt del dispositivo.

Sintassi

typedef struct _WUDF_INTERRUPT_CONFIG {
  ULONG                           Size;
  WDF_TRI_STATE                   ShareVector;
  BOOLEAN                         AutomaticSerialization;
  PFN_WUDF_INTERRUPT_ISR          OnInterruptIsr;
  PFN_WUDF_INTERRUPT_ENABLE       OnInterruptEnable;
  PFN_WUDF_INTERRUPT_DISABLE      OnInterruptDisable;
  PFN_WUDF_INTERRUPT_WORKITEM     OnInterruptWorkItem;
  PCM_PARTIAL_RESOURCE_DESCRIPTOR InterruptRaw;
  PCM_PARTIAL_RESOURCE_DESCRIPTOR InterruptTranslated;
} WUDF_INTERRUPT_CONFIG, *PWUDF_INTERRUPT_CONFIG;

Membri

Size

Dimensione, in byte, di questa struttura.

ShareVector

Valore WDF_TRI_STATEtipizzato. Se questo valore è WdfTrue, il vettore di interrupt può essere condiviso. Se il valore è WdfFalse, il vettore di interrupt non può essere condiviso. Se il valore è WdfDefault e l'interrupt viene attivato a livello, il gestore Plug and Play usa il valore del driver del bus. Se il valore è WdfDefault e l'interrupt non viene attivato a livello, il vettore di interrupt non può essere condiviso.

AutomaticSerialization

Valore booleano che, se TRUE, indica che il framework sincronizzerà l'esecuzione dell'oggetto interrupt OnInterruptWorkItem funzione di callback con altre funzioni di callback che usano la sincronizzazione del callback del framework funzionalità. Per altre informazioni, vedere La sezione Osservazioni.

OnInterruptIsr

Puntatore al OnInterruptIsr del driver funzione di callback o NULL.

OnInterruptEnable

Puntatore al onInterruptEnable del driver funzione di callback o NULL.

OnInterruptDisable

Puntatore al OnInterruptDisable del driver funzione di callback o NULL.

OnInterruptWorkItem

Puntatore al OnInterruptWorkItem del driver funzione di callback o NULL.

InterruptRaw

Puntatore alla struttura CM_PARTIAL_RESOURCE_DESCRIPTOR che descrive le risorse non elaborate che il sistema assegnato all'interrupt. Questo membro viene usato solo se l'interrupt viene creato nel OnPrepareHardware callback.

InterruptTranslated

Puntatore alla struttura CM_PARTIAL_RESOURCE_DESCRIPTOR che descrive le risorse convertite che il sistema assegnato all'interrupt. Questo membro viene usato solo se l'interrupt viene creato nel OnPrepareHardware callback.

Osservazioni

La struttura WUDF_INTERRUPT_CONFIG viene usata come input per IWDFDevice3::CreateInterrupt.

Per inizializzare una struttura WUDF_INTERRUPT_CONFIG, il driver deve prima chiamare WUDF_INTERRUPT_CONFIG_INIT e quindi compilare i membri della struttura che WUDF_INTERRUPT_CONFIG_INIT non inizializza.

Prima di impostare AutomaticSerialization su TRUE, il driver deve chiamare IWDFDeviceInitialize::SetLockingConstraint con il parametro LockType impostato su WdfDeviceLevel.

Il driver deve includere Wudfwdm.h, che contiene la definizione di CM_PARTIAL_RESOURCE_DESCRIPTOR.

UMDF supporta interrupt basati su riga e interrupt attivati da edge e interrupt con segnalazione di messaggi in tutti i sistemi operativi supportati dal framework. Poiché questi tipi di risorse di interrupt non sono condivisi, un driver che li usa deve impostare il ShareVector membro di questa struttura su WdfFalse o WdfUseDefault. Se il driver specifica un valore ShareVector non valido, l'avvio del driver non riesce.

Fabbisogno

Requisito Valore
versione minima di UMDF 1.11
intestazione wudfinterrupt.h

Vedere anche

IWDFDevice3::CreateInterrupt

IWDFDeviceInitialize::SetLockingConstraint

WUDF_INTERRUPT_CONFIG_INIT