Freigeben über


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

Weitere Informationen