MINIPORT_DISABLE_INTERRUPT Rückruffunktion (ndis.h)
NDIS kann den MiniportDisableInterruptEx-Handler eines Miniporttreibers aufrufen, um Interrupts zu Diagnose- und Problembehandlungszwecken zu deaktivieren.
Syntax
MINIPORT_DISABLE_INTERRUPT MiniportDisableInterrupt;
void MiniportDisableInterrupt(
[in] NDIS_HANDLE MiniportInterruptContext
)
{...}
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 .
Rückgabewert
Keine
Bemerkungen
Ein Miniporttreiber muss einen MiniportDisableInterruptEx-Handler bereitstellen, wenn der Treiber die Funktion NdisMRegisterInterruptEx aufruft , um einen Interrupt zu registrieren.
Miniporttreiber 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 Funktion MiniportInterrupt freigegeben werden.
Daher ruft NDIS diese Handler bei DIRQL auf.
Beispiele
Um eine MiniportDisableInterruptEx-Funktion zu definieren, müssen Sie zuerst 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 MiniportDisableInterruptEx-Funktion mit dem Namen "MyDisableInterruptEx" zu definieren, verwenden Sie den MINIPORT_DISABLE_INTERRUPT-Typ , wie in diesem Codebeispiel gezeigt:
MINIPORT_DISABLE_INTERRUPT MyDisableInterruptEx;
Implementieren Sie dann Ihre Funktion wie folgt:
_Use_decl_annotations_
VOID
MyDisableInterruptEx(
NDIS_HANDLE MiniportInterruptContext
)
{...}
Der MINIPORT_DISABLE_INTERRUPT Funktionstyp wird 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_DISABLE_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 | Siehe Abschnitt "Hinweise" |