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 |