FILTER_DETACH Rückruffunktion (ndis.h)

NDIS ruft die FilterDetach-Funktion eines Filtertreibers auf, um alle Ressourcen freizugeben, die einem Filtermodul zugeordnet sind.

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

Syntax

FILTER_DETACH FilterDetach;

void FilterDetach(
  [in] NDIS_HANDLE FilterModuleContext
)
{...}

Parameter

[in] FilterModuleContext

Ein Handle für den Kontextbereich des Filtermoduls, das von NDIS aus dem Treiberstapel entfernt wird. Der Filtertreiber hat diesen Kontextbereich in der FilterAttach-Funktion erstellt und initialisiert.

Rückgabewert

Keine

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 FilterDetach zurückgegeben wurde, befindet sich das Filtermodul im Status "Getrennt" .

NDIS ruft FilterDetach bei IRQL = PASSIVE_LEVEL auf.

Beispiele

Um eine FilterDetach-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 FilterDetach-Funktion mit dem Namen "MyDetach" zu definieren, verwenden Sie den typ FILTER_DETACH , 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 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 FILTER_DETACH 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 PASSIVE_LEVEL

Weitere Informationen

FilterAttach