WUDF_INTERRUPT_ENABLE Rückruffunktion (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 für neuere 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 OnInterruptEnable-Ereignisrückruffunktion eines Treibers aktiviert einen angegebenen Hardware-Interrupt.
Syntax
WUDF_INTERRUPT_ENABLE WudfInterruptEnable;
HRESULT WudfInterruptEnable(
[in] IWDFInterrupt *Interrupt,
[in] IWDFDevice *AssociatedDevice
)
{...}
Parameter
[in] Interrupt
Ein Zeiger auf die IWDFInterrupt-Schnittstelle .
[in] AssociatedDevice
Ein Zeiger auf die IWDFDevice-Schnittstelle , die der Treiber zum Aufrufen von CreateInterrupt verwendet hat.
Rückgabewert
Die Rückruffunktion muss S_OK zurückgeben, wenn der Vorgang erfolgreich ist. Andernfalls sollte der Rückruf einen der Fehlercodes zurückgeben, die in Winerror.h definiert sind.
Hinweise
Um eine OnInterruptEnable-Rückruffunktion zu registrieren, muss ihr Treiber die Adresse der Rückruffunktion in einer WUDF_INTERRUPT_CONFIG-Struktur platzieren, bevor IWDFDevice::CreateInterrupt aufgerufen wird.
Das Framework ruft die OnInterruptEnable-Rückruffunktion des Treibers jedes Mal auf, wenn das Gerät in den Arbeitszustand (D0) wechselt. Darüber hinaus kann ein Treiber dazu führen, dass das Framework die Rückruffunktion OnInterruptEnable aufruft , indem er IWDFInterrupt::Enable aufruft.
Vor dem Aufrufen der Rückruffunktion OnInterruptEnable ruft das Framework die Interruptsperre für den Benutzermodus ab.
Nach dem Aufrufen der Rückruffunktion OnInterruptEnable ruft das Framework die OnD0EntryPostInterruptsEnabled-Ereignisrückruffunktion des Treibers auf.
Weitere Informationen zur Behandlung von Interrupts in UMDF-Treibern finden Sie unter Zugreifen auf Hardware und Behandlung von Interrupts.
Beispiele
Der Funktionstyp wird in Wudfinterrupt.h wie folgt deklariert.
typedef
__drv_functionClass(WUDF_INTERRUPT_ENABLE)
HRESULT
WUDF_INTERRUPT_ENABLE(
_In_
IWDFInterrupt* Interrupt,
_In_
IWDFDevice* AssociatedDevice
);
typedef WUDF_INTERRUPT_ENABLE *PFN_WUDF_INTERRUPT_ENABLE;
Um eine OnInterruptEnable-Rückruffunktion mit dem Namen MyInterruptEnable zu definieren, müssen Sie zunächst eine Funktionsdeklaration bereitstellen, die SDV und andere Überprüfungstools benötigen, wie folgt:
WUDF_INTERRUPT_ENABLE MyInterruptEnable;
Implementieren Sie dann Ihre Rückruffunktion wie folgt:
HRESULT
MyInterruptEnable (
IN IWDFInterrupt* pInterrupt,
IN IWDFDevice* pAssociatedDevice
)
{…}
Anforderungen
Anforderung | Wert |
---|---|
Ende des Supports | In UMDF 2.0 und höher nicht verfügbar. |
Zielplattform | Desktop |
UMDF-Mindestversion | 1.11 |
Kopfzeile | wudfinterrupt.h |