WUDF_INTERRUPT_CONFIG-Struktur (wudfinterrupt.h)
[Warnung: UMDF 2 ist die neueste Version von UMDF und ersetzt UMDF 1. Alle neuen UMDF-Treiber sollten mit UMDF 2 geschrieben werden. UMDF 1 werden keine neuen Features hinzugefügt, und die Unterstützung für UMDF 1 in neueren Versionen von Windows 10 ist eingeschränkt. Universelle Windows-Treiber müssen UMDF 2 verwenden. Weitere Informationen finden Sie unter Erste Schritte mit UMDF.]
Die WUDF_INTERRUPT_CONFIG-Struktur enthält Konfigurationsinformationen für einen Geräteunterbrechung.
Syntax
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;
Member
Size
Die Größe (in Bytes) dieser Struktur.
ShareVector
Ein WDF_TRI_STATE typisierter Wert. Wenn dieser Wert WdfTrue ist, kann der Interruptvektor freigegeben werden. Wenn der Wert WdfFalse ist, kann der Interruptvektor nicht freigegeben werden. Wenn der Wert WdfDefault ist und der Interrupt level-triggered wird, verwendet der Plug & Play-Manager den Wert des Bustreibers. Wenn der Wert WdfDefault ist und der Interrupt nicht level-triggered wird, kann der Interruptvektor nicht freigegeben werden.
AutomaticSerialization
Ein boolescher Wert, der bei TRUE angibt, dass das Framework die Ausführung der OnInterruptWorkItem-Rückruffunktion des Interruptobjekts mit anderen Rückruffunktionen synchronisiert, die die Rückrufsynchronisierungsfunktion des Frameworks verwenden. Weitere Informationen finden Sie unter Hinweise.
OnInterruptIsr
Ein Zeiger auf die OnInterruptIsr-Rückruffunktion des Treibers oder NULL.
OnInterruptEnable
Ein Zeiger auf die OnInterruptEnable-Rückruffunktion des Treibers oder NULL.
OnInterruptDisable
Ein Zeiger auf die OnInterruptDisable-Rückruffunktion des Treibers oder NULL.
OnInterruptWorkItem
Ein Zeiger auf die OnInterruptWorkItem-Rückruffunktion des Treibers oder NULL.
InterruptRaw
Ein Zeiger auf die CM_PARTIAL_RESOURCE_DESCRIPTOR Struktur, die die Rohressourcen beschreibt, die das System dem Interrupt zugewiesen hat. Dieser Member wird nur verwendet, wenn der Interrupt im OnPrepareHardware-Rückruf erstellt wird.
InterruptTranslated
Ein Zeiger auf die CM_PARTIAL_RESOURCE_DESCRIPTOR-Struktur , die die übersetzten Ressourcen beschreibt, die das System dem Interrupt zugewiesen hat. Dieser Member wird nur verwendet, wenn der Interrupt im OnPrepareHardware-Rückruf erstellt wird.
Hinweise
Die WUDF_INTERRUPT_CONFIG-Struktur wird als Eingabe für IWDFDevice3::CreateInterrupt verwendet.
Um eine WUDF_INTERRUPT_CONFIG-Struktur zu initialisieren, sollte Ihr Treiber zuerst WUDF_INTERRUPT_CONFIG_INIT aufrufen und dann Strukturmember ausfüllen, die WUDF_INTERRUPT_CONFIG_INIT nicht initialisiert.
Bevor AutomaticSerialization auf TRUE festgelegt wird, muss der Treiber IWDFDeviceInitialize::SetLockingConstraint aufrufen, wobei der LockType-Parameter auf WdfDeviceLevel festgelegt ist.
Ihr Treiber sollte "Wudfwdm.h" enthalten, das die Definition von CM_PARTIAL_RESOURCE_DESCRIPTOR enthält.
UMDF unterstützt edge-ausgelöste, zeilenbasierte Interrupts und Nachrichtensignal-Interrupts (Message-Signaled Interrupts, MSI) auf allen Framework-unterstützten Betriebssystemen. Da diese Typen von Interruptressourcen nicht freigegeben werden, sollte ein Treiber, der sie verwendet, den ShareVector-Member dieser Struktur auf WdfFalse oder WdfUseDefault festlegen. Wenn der Treiber einen ungültigen ShareVector-Wert angibt, kann der Treiber nicht gestartet werden.
Anforderungen
Anforderung | Wert |
---|---|
UMDF-Mindestversion | 1.11 |
Kopfzeile | wudfinterrupt.h |