FILTER_DETACH Rückruffunktion (ndis.h)
NDIS ruft die FilterDetach-Funktion eines Filtertreibers auf, um alle Ressourcen freizugeben, die einem Filtermodul zugeordnet sind.
Syntax
FILTER_DETACH FilterDetach;
void FilterDetach(
[in] NDIS_HANDLE FilterModuleContext
)
{...}
Parameter
[in] FilterModuleContext
Ein Handle zum Kontextbereich für das Filtermodul, das NDIS aus dem Treiberstapel entfernt. Der Filtertreiber hat diesen Kontextbereich in der FilterAttach-Funktion erstellt und initialisiert.
Rückgabewert
Nichts
Bemerkungen
FilterDetach ist eine erforderliche Funktion. NDIS ruft FilterDetach- auf, um ein Filtermodul aus einem Treiberstapel zu entfernen. NDIS ruft FilterDetach- auf, wenn sich das Filtermodul im Zustand Angehalten befindet.
FilterDetach gibt die Kontextbereiche des Treibers und andere Ressourcen (z. B. Pufferpools) für das betroffene Filtermodul frei.
Nachdem der Filtertreiber von FilterDetachzurückgegeben wurde, befindet sich das Filtermodul im Zustand Getrennten.
NDIS ruft FilterDetach- bei IRQL = PASSIVE_LEVEL auf.
beispiele für
Um eine FilterDetach--Funktion zu definieren, müssen Sie zuerst eine Funktionsdeklaration angeben, 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 FilterDetach--Funktion zu definieren, die den Namen "MyDetach" hat, verwenden Sie den FILTER_DETACH Typ, wie in diesem Codebeispiel gezeigt:
FILTER_DETACH MyDetach;
Implementieren Sie dann Ihre Funktion wie folgt:
_Use_decl_annotations_
VOID
MyDetach(
NDIS_HANDLE FilterModuleContext
)
{...}
Der FILTER_DETACH 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 FILTER_DETACH 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.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Unterstützt in NDIS 6.0 und höher. |
Zielplattform- | Fenster |
Header- | ndis.h (include Ndis.h) |
IRQL- | PASSIVE_LEVEL |