Freigeben über


MINIPORT_ENABLE_INTERRUPT Rückruffunktion (ndis.h)

NDIS kann den MiniportEnableInterruptEx-Handler eines Miniporttreibers aufrufen, um Interrupts für Diagnose- und Problembehandlungszwecke zu aktivieren.

Hinweis Sie müssen die Funktion mit dem typ MINIPORT_ENABLE_INTERRUPT deklarieren. Weitere Informationen finden Sie im folgenden Abschnitt Beispiele.
 

Syntax

MINIPORT_ENABLE_INTERRUPT MiniportEnableInterrupt;

void MiniportEnableInterrupt(
  [in] NDIS_HANDLE MiniportInterruptContext
)
{...}

Parameter

[in] MiniportInterruptContext

Ein Handle für einen Block von Kontextinformationen. Der Miniporttreiber hat dieses Handle im MiniportInterruptContext-Parameter bereitgestellt, den der Miniporttreiber an den übergeben hat. NdisMRegisterInterruptEx-Funktion .

Rückgabewert

Keine

Bemerkungen

Ein Miniporttreiber muss einen MiniportEnableInterruptEx-Handler bereitstellen, wenn der Treiber die NdisMRegisterInterruptEx-Funktion aufruft , um einen Interrupt zu registrieren.

Miniport-Treiber sollten Interrupts deaktivieren und aktivieren, wie auf den Referenzseiten MiniportInterrupt und MiniportInterruptDpc erläutert.

NDIS ruft miniportEnableInterruptEx auf und MiniportDisableInterruptEx-Funktionen zum Aktivieren und Deaktivieren von Interrupts für Diagnose- und Problembehandlungszwecke. In der Regel greifen MiniportEnableInterruptEx und MiniportDisableInterruptEx auf Miniporttreiberressourcen zu, die von der MiniportInterrupt-Funktion gemeinsam genutzt werden. Daher ruft NDIS diese Handler bei DIRQL auf.

Beispiele

Um eine MiniportEnableInterruptEx-Funktion zu definieren, müssen Sie zunächst eine Funktionsdeklaration bereitstellen, die den Typ der zu definierenden Funktion identifiziert. Windows bietet eine Reihe von Funktionstypen für Treiber. Das Deklarieren einer Funktion mithilfe der Funktionstypen hilft der Codeanalyse für Treiber, der statischen Treiberüberprüfung (Static Driver Verifier , SDV) und anderen Überprüfungstools, Fehler zu finden, und es ist eine Voraussetzung für das Schreiben von Treibern für das Windows-Betriebssystem.

Um beispielsweise eine MiniportEnableInterruptEx-Funktion mit dem Namen "MyEnableInterruptEx" zu definieren, verwenden Sie den typ MINIPORT_ENABLE_INTERRUPT , wie in diesem Codebeispiel gezeigt:

MINIPORT_ENABLE_INTERRUPT MyEnableInterruptEx;

Implementieren Sie dann Ihre Funktion wie folgt:

_Use_decl_annotations_
VOID
 MyEnableInterruptEx(
    NDIS_HANDLE  MiniportInterruptContext
    )
  {...}

Der MINIPORT_ENABLE_INTERRUPT Funktionstyp ist in der Headerdatei Ndis.h definiert. Um Fehler beim Ausführen der Codeanalysetools genauer zu identifizieren, müssen Sie der Funktionsdefinition die anmerkung Use_decl_annotations hinzufügen. Die Use_decl_annotations Anmerkung stellt sicher, dass die Anmerkungen verwendet werden, die auf den MINIPORT_ENABLE_INTERRUPT Funktionstyp in der Headerdatei angewendet werden. Weitere Informationen zu den Anforderungen für Funktionsdeklarationen finden Sie unter Deklarieren von Funktionen mithilfe von Funktionsrollentypen für NDIS-Treiber.

Informationen zu Use_decl_annotations finden Sie unter Verhalten von Funktionen mit Anmerkungen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Unterstützt in NDIS 6.0 und höher.
Zielplattform Windows
Kopfzeile ndis.h (include Ndis.h)
IRQL Siehe Abschnitt "Hinweise"

Weitere Informationen

MiniportDisableInterruptEx

MiniportInterrupt

MiniportInterruptDPC

NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS

NdisMRegisterInterruptEx