Condividi tramite


WUDF_INTERRUPT_CONFIG struttura (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 struttura WUDF_INTERRUPT_CONFIG contiene informazioni di configurazione per un interruzione 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;

Members

Size

Dimensione, in byte, della struttura.

ShareVector

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

AutomaticSerialization

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

OnInterruptIsr

Puntatore alla funzione di callback onInterruptIsr del driver o NULL.

OnInterruptEnable

Puntatore alla funzione di callback OnInterruptEnable del driver o NULL.

OnInterruptDisable

Puntatore alla funzione di callback OnInterruptDisable del driver o NULL.

OnInterruptWorkItem

Puntatore alla funzione di callback OnInterruptWorkItem del driver o NULL.

InterruptRaw

Puntatore alla struttura CM_PARTIAL_RESOURCE_DESCRIPTOR che descrive le risorse non elaborate assegnate al sistema all'interruzione. Questo membro viene usato solo se l'interruzione viene creata nel callback onPrepareHardware .

InterruptTranslated

Puntatore alla struttura CM_PARTIAL_RESOURCE_DESCRIPTOR che descrive le risorse tradotte assegnate al sistema all'interruzione. Questo membro viene usato solo se l'interruzione viene creata nel callback onPrepareHardware .

Commenti

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 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 interruzioni basate su riga e interruzioni basate su riga in tutti i sistemi operativi supportati dal framework. Poiché questi tipi di risorse di interruzione non sono condivisi, un driver che li usa deve impostare il membro ShareVector di questa struttura su WdfFalse o WdfUseDefault. Se il driver specifica un valore ShareVector non valido, il driver non viene avviato.

Requisiti

Requisito Valore
Versione UMDF minima 1.11
Intestazione wudfinterrupt.h

Vedi anche

IWDFDevice3::CreateInterrupt

IWDFDeviceInitialize::SetLockingConstraint

WUDF_INTERRUPT_CONFIG_INIT