MINIPORT_DISABLE_MESSAGE_INTERRUPT Rückruffunktion (ndis.h)
NDIS kann die MiniportDisableMessageInterrupt Handlers eines Miniporttreibers aufrufen, um einen Nachrichtenunterbruch für Diagnose- und Problembehandlungszwecke zu deaktivieren.
MINIPORT_DISABLE_MESSAGE_INTERRUPT MiniportDisableMessageInterrupt;
void MiniportDisableMessageInterrupt(
[in] NDIS_HANDLE MiniportInterruptContext,
[in] ULONG MessageId
)
{...}
[in] MiniportInterruptContext
Ein Handle für einen Block von Kontextinformationen. Der Miniporttreiber hat diesen Handle im MiniportInterruptContext Parameter bereitgestellt, den der Miniporttreiber an den Funktion NdisMRegisterInterruptEx.
[in] MessageId
Eine meldungs signalisierte Unterbrechung. MessageId- ist ein Index für den IO_INTERRUPT_MESSAGE_INFO_ENTRY Strukturen in einem IO_INTERRUPT_MESSAGE_INFO Struktur. NDIS übergibt einen Zeiger an die zugeordnete IO_INTERRUPT_MESSAGE_INFO Struktur an der MessageInfoTable Member, wenn der Treiber erfolgreich für MSI mit der funktion NdisMRegisterInterruptEx registriert wird.
Nichts
Ein Miniporttreiber muss eine MiniportDisableMessageInterrupt--Funktion bereitstellen, wenn der Treiber die NdisMRegisterInterruptEx--Funktion aufruft, um einen Interrupt zu registrieren.
Miniport-Treiber sollten einen Nachrichtenunterbruch deaktivieren und aktivieren, wie im MiniportMessageInterrupt- erläutert. MiniportMessageInterruptDpc Referenzseiten.
NDIS ruft die MiniportEnableMessageInterrupt und MiniportDisableMessageInterrupt Funktionen, um Unterbrechungen für Diagnose- und Problembehandlungszwecke zu aktivieren und zu deaktivieren. In der Regel greifen MiniportEnableMessageInterrupt und MiniportDisableMessageInterrupt auf Miniporttreiberressourcen zu, die von den von den MiniportMessageInterrupt Funktion. Daher ruft NDIS diese Handler bei DIRQL auf.
Um eine MiniportDisableMessageInterrupt--Funktion zu definieren, müssen Sie zuerst eine Funktionsdeklaration bereitstellen, die den Typ der Funktion identifiziert, die Sie definieren. Windows stellt eine Reihe von Funktionstypen für Treiber bereit. Durch das Deklarieren einer Funktion mithilfe der Funktionstypen können Codeanalyse für Treiber, statische Treiberüberprüfung (SDV) und andere Überprüfungstools Fehler finden, und es ist eine Anforderung zum Schreiben von Treibern für das Windows-Betriebssystem.Um beispielsweise eine MiniportDisableMessageInterrupt--Funktion zu definieren, die den Namen "MyDisableMessageInterrupt" hat, verwenden Sie den MINIPORT_DISABLE_MESSAGE_INTERRUPT Typ, wie in diesem Codebeispiel gezeigt:
MINIPORT_DISABLE_MESSAGE_INTERRUPT MyDisableMessageInterrupt;
Implementieren Sie dann Ihre Funktion wie folgt:
_Use_decl_annotations_
VOID
MyDisableMessageInterrupt(
NDIS_HANDLE MiniportInterruptContext,
ULONG MessageId
)
{...}
Der MINIPORT_DISABLE_MESSAGE_INTERRUPT Funktionstyp wird in der Ndis.h-Headerdatei definiert. Um Fehler genauer zu identifizieren, wenn Sie die Codeanalysetools ausführen, müssen Sie der Funktionsdefinition die Use_decl_annotations Anmerkung hinzufügen. Die Use_decl_annotations Anmerkung stellt sicher, dass die Anmerkungen, die auf den Funktionstyp MINIPORT_DISABLE_MESSAGE_INTERRUPT in der Headerdatei angewendet werden, verwendet 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_annotationsfinden Sie unter Annotating Function Behavior.
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Unterstützt in NDIS 6.0 und höher. |
Zielplattform- | Fenster |
Header- | ndis.h (include Ndis.h) |
IRQL- | DIRQL (siehe Abschnitt "Hinweise") |