MINIPORT_ENABLE_MESSAGE_INTERRUPT Rückruffunktion (ndis.h)

NDIS kann die MiniportEnableMessageInterrupt-Funktion eines Miniporttreibers aufrufen, um einen Nachrichtenunterbrechung für Diagnose- und Problembehandlungszwecke zu aktivieren.

Hinweis Sie müssen die Funktion mit dem MINIPORT_ENABLE_MESSAGE_INTERRUPT-Typ deklarieren. Weitere Informationen finden Sie im folgenden Abschnitt Beispiele.
 

Syntax

MINIPORT_ENABLE_MESSAGE_INTERRUPT MiniportEnableMessageInterrupt;

void MiniportEnableMessageInterrupt(
  [in] NDIS_HANDLE MiniportInterruptContext,
  [in] ULONG MessageId
)
{...}

Parameter

[in] MiniportInterruptContext

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

[in] MessageId

Ein nachrichtenseitig signalisierter Interrupt. MessageId ist ein Index für die IO_INTERRUPT_MESSAGE_INFO_ENTRY Strukturen in einem IO_INTERRUPT_MESSAGE_INFO Struktur. NDIS übergibt einen Zeiger auf die zugeordnete IO_INTERRUPT_MESSAGE_INFO-Struktur am MessageInfoTable-Member , wenn der Treiber erfolgreich für MSI mit der NdisMRegisterInterruptEx-Funktion registriert wird.

Rückgabewert

Keine

Bemerkungen

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

Miniport-Treiber sollten einen Nachrichtenunterbrechung deaktivieren und aktivieren, wie im MiniportMessageInterrupt und erläutert. MiniportMessageInterruptDpc-Referenzseiten .

NDIS ruft miniportEnableMessageInterrupt auf und MiniportDisableMessageInterrupt-Funktionen zum Aktivieren und Deaktivieren eines Nachrichtenunterbrechungs zu Diagnose- und Problembehandlungszwecken. In der Regel greifen MiniportEnableMessageInterrupt und MiniportDisableMessageInterrupt auf Miniporttreiberressourcen zu, die von der MiniportMessageInterrupt-Funktion . Daher ruft NDIS diese Handler bei DIRQL auf.

Beispiele

Um eine MiniportEnableMessageInterrupt-Funktion zu definieren, müssen Sie zunächst eine Funktionsdeklaration bereitstellen, die den Typ der zu definierenden Funktion identifiziert. Windows stellt eine Reihe von Funktionstypen für Treiber bereit. 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 Anforderung zum Schreiben von Treibern für das Windows-Betriebssystem.

Um beispielsweise eine MiniportEnableMessageInterrupt-Funktion mit dem Namen "MyEnableMessageInterrupt" zu definieren, verwenden Sie den MINIPORT_ENABLE_MESSAGE_INTERRUPT-Typ , wie in diesem Codebeispiel gezeigt:

MINIPORT_ENABLE_MESSAGE_INTERRUPT MyEnableMessageInterrupt;

Implementieren Sie dann Ihre Funktion wie folgt:

_Use_decl_annotations_
VOID
 MyEnableMessageInterrupt(
    __in  NDIS_HANDLE  MiniportInterruptContext,
    __in  ULONG  MessageId
    )
  {...}

Der MINIPORT_ENABLE_MESSAGE_INTERRUPT Funktionstyp ist in der Headerdatei Ndis.h definiert. Um Fehler beim Ausführen der Codeanalysetools genauer zu identifizieren, fügen Sie der Funktionsdefinition die Use_decl_annotations Anmerkung hinzu. Die Use_decl_annotations Anmerkung stellt sicher, dass die Anmerkungen verwendet werden, die auf den MINIPORT_ENABLE_MESSAGE_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 (einschließlich Ndis.h)
IRQL DIRQL (siehe Abschnitt Hinweise)

Weitere Informationen

IO_INTERRUPT_MESSAGE_INFO

IO_INTERRUPT_MESSAGE_INFO_ENTRY MiniportDisableMessageInterrupt

MiniportMessageInterrupt

MiniportMessageInterruptDPC

NDIS_MINIPORT_INTERRUPT_CHARACTERISTICS

NdisMRegisterInterruptEx