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. Es werden keine neuen Features zu UMDF 1 hinzugefügt, und es gibt eingeschränkte Unterstützung für UMDF 1 für neuere Versionen von Windows 10. 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äteunterbruch.
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;
Angehörige
Size
Die Größe dieser Struktur in Byte.
ShareVector
Ein WDF_TRI_STATE-typed-Wert. Wenn dieser Wert WdfTrueist, kann der Interruptvektor freigegeben werden. Wenn der Wert WdfFalseist, kann der Interruptvektor nicht freigegeben werden. Wenn der Wert WdfDefault ist und der Interrupt ausgelöst wird, verwendet der Plug-and-Play-Manager den Wert des Bustreibers. Wenn der Wert WdfDefault ist und der Interrupt nicht ebenenauslöst ist, kann der Interruptvektor nicht freigegeben werden.
AutomaticSerialization
Ein boolescher Wert, der, wenn TRUE, angibt, dass das Framework die Ausführung des OnInterruptWorkItem- Objekts mit anderen Rückruffunktionen synchronisiert, die die Rückrufsynchronisierung des Frameworks Funktionalität verwenden. Weitere Informationen finden Sie in den Hinweisen.
OnInterruptIsr
Ein Zeiger auf die OnInterruptIsr Rückruffunktion des Treibers oder NULL.
OnInterruptEnable
Ein Zeiger auf die OnInterruptEnable Rückruffunktion oder NULL des Treibers.
OnInterruptDisable
Ein Zeiger auf die OnInterruptDisable des Treibers Rückruffunktion oder NULL.
OnInterruptWorkItem
Ein Zeiger auf die OnInterruptWorkItem des Treibers Rückruffunktion oder NULL.
InterruptRaw
Ein Zeiger auf die CM_PARTIAL_RESOURCE_DESCRIPTOR-Struktur, die die Rohressourcen beschreibt, die das System dem Interrupt zugewiesen hat. Dieses Element 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. Dieses Element wird nur verwendet, wenn der Interrupt im OnPrepareHardware Rückruf erstellt wird.
Bemerkungen
Die WUDF_INTERRUPT_CONFIG Struktur wird als Eingabe für IWDFDevice3::CreateInterruptverwendet.
Um eine WUDF_INTERRUPT_CONFIG Struktur zu initialisieren, sollte der Treiber zuerst WUDF_INTERRUPT_CONFIG_INIT aufrufen und dann Strukturmember ausfüllen, die WUDF_INTERRUPT_CONFIG_INIT nicht initialisiert.
Vor dem Festlegen AutomaticSerialization- auf TRUE muss der Treiber IWDFDeviceInitialize::SetLockingConstraint aufrufen, wobei der LockType Parameter auf WdfDeviceLevelfestgelegt 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 Nachrichtensignalunterbruchs (MSI) auf allen frameworkgestü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 |
---|---|
Mindest-UMDF-Version | 1.11 |
Header- | wudfinterrupt.h |