Partager via


FILTER_DETACH fonction de rappel (ndis.h)

NDIS appelle la fonction FilterDetach d’un pilote de filtre pour libérer toutes les ressources associées à un module de filtre.

Note Vous devez déclarer la fonction à l’aide du type FILTER_DETACH . Pour plus d’informations, consultez la section Exemples suivante.
 

Syntaxe

FILTER_DETACH FilterDetach;

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

Paramètres

[in] FilterModuleContext

Handle de la zone de contexte pour le module de filtre que NDIS supprimera de la pile des pilotes. Le pilote de filtre a créé et initialisé cette zone de contexte dans la fonction FilterAttach .

Valeur de retour

None

Remarques

FilterDetach est une fonction obligatoire. NDIS appelle FilterDetach pour supprimer un module de filtre d’une pile de pilotes. NDIS appelle FilterDetach lorsque le module de filtre est à l’état Suspendu .

FilterDetach libère les zones de contexte du pilote et d’autres ressources (telles que les pools de mémoires tampons) pour le module de filtre affecté.

Une fois que le pilote de filtre est retourné à partir de FilterDetach, le module de filtre est dans l’état Détaché .

NDIS appelle FilterDetach à IRQL = PASSIVE_LEVEL.

Exemples

Pour définir une fonction FilterDetach , vous devez d’abord fournir une déclaration de fonction qui identifie le type de fonction que vous définissez. Windows fournit un ensemble de types de fonctions pour les pilotes. La déclaration d’une fonction à l’aide des types de fonction permet à l’analyse du code pour les pilotes, au vérificateur de pilotes statiques (SDV) et à d’autres outils de vérification de trouver des erreurs. Il s’agit d’une exigence pour l’écriture de pilotes pour le système d’exploitation Windows.

Par exemple, pour définir une fonction FilterDetach nommée « MyDetach », utilisez le type FILTER_DETACH comme indiqué dans cet exemple de code :

FILTER_DETACH MyDetach;

Ensuite, implémentez votre fonction comme suit :

_Use_decl_annotations_
VOID
 MyDetach(
    NDIS_HANDLE  FilterModuleContext
    )
  {...}

Le type de fonction FILTER_DETACH est défini dans le fichier d’en-tête Ndis.h. Pour identifier plus précisément les erreurs lors de l’exécution des outils d’analyse du code, veillez à ajouter l’annotation Use_decl_annotations à votre définition de fonction. L’annotation Use_decl_annotations garantit que les annotations appliquées au type de fonction FILTER_DETACH dans le fichier d’en-tête sont utilisées. Pour plus d’informations sur la configuration requise pour les déclarations de fonction, consultez Déclaration de fonctions à l’aide de types de rôles de fonction pour les pilotes NDIS.

Pour plus d’informations sur Use_decl_annotations, consultez Annotating Function Behavior.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge dans NDIS 6.0 et versions ultérieures.
Plateforme cible Windows
En-tête ndis.h (inclure Ndis.h)
IRQL PASSIVE_LEVEL

Voir aussi

FilterAttach