NDIS_FILTER_INTERFACE structure (ndis.h)

La structure NDIS_FILTER_INTERFACE définit les attributs d’un filtre NDIS.

Syntaxe

typedef struct _NDIS_FILTER_INTERFACE {
  NDIS_OBJECT_HEADER Header;
  ULONG              Flags;
  ULONG              FilterType;
  ULONG              FilterRunType;
  NET_IFINDEX        IfIndex;
  NET_LUID           NetLuid;
  NDIS_STRING        FilterClass;
  NDIS_STRING        FilterInstanceName;
} NDIS_FILTER_INTERFACE, *PNDIS_FILTER_INTERFACE;

Membres

Header

Structure NDIS_OBJECT_HEADER pour la structure de l’interface de filtre.

NDIS définit le membre Type de la structure spécifiée par Header sur NDIS_OBJECT_TYPE_DEFAULT.

Si le handle passé à NdisEnumerateFilterModules appartient à un objet NDIS 6.30 ou ultérieur, NDIS définit Revision sur NDIS_FILTER_INTERFACE_REVISION_2 et Size sur NDIS_SIZEOF_FILTER_INTERFACE_REVISION_2.

Si le handle passé à NdisEnumerateFilterModules appartient à un objet NDIS 6.20 ou antérieur, NDIS définit Revision sur NDIS_FILTER_INTERFACE_REVISION_1 et Size sur NDIS_SIZEOF_FILTER_INTERFACE_REVISION_1.

Flags

Champ bit qui définit le type de pilote NDIS qui implémente le filtre. Ce membre doit être défini sur l’un des types de pilotes suivants :

NDIS_FILTER_INTERFACE_IM_FILTER

Le filtre est implémenté dans un pilote intermédiaire de filtre NDIS 5.1 ou antérieur.

NDIS_FILTER_INTERFACE_LW_FILTER

Le filtre est implémenté dans un pilote de filtre NDIS 6.0 ou ultérieur.

NDIS_FILTER_INTERFACE_SEND_BYPASS

Le filtre n’est actuellement pas attaché au chemin d’envoi. Cet indicateur est défini uniquement si Header.Revision est supérieur ou égal à NDIS_FILTER_INTERFACE_REVISION_2.

NDIS_FILTER_INTERFACE_RECEIVE_BYPASS

Le filtre n’est actuellement pas attaché au chemin de réception. Cet indicateur est défini uniquement si Header.Revision est supérieur ou égal à NDIS_FILTER_INTERFACE_REVISION_2.

FilterType

Type de comportement pour le filtre. Ce type doit être l’une des valeurs suivantes :

NdisFilterTypeMonitoring = 1

Filtre de surveillance.

NdisFilterTypeModifying = 2

Filtre de modification.

FilterRunType

Type de priorité de pièce jointe du runtime pour le filtre. Ce type doit être l’une des valeurs suivantes :

NdisFilterRunTypeMandatory = 1

Filtre obligatoire. Si le filtre ne s’attache pas à la pile des pilotes, NDIS détruit le reste de la pile.

NdisFilterRunTypeOptional = 2

Filtre facultatif. Si le filtre ne s’attache pas à la pile des pilotes, NDIS ne déclasse pas le reste de la pile.

IfIndex

Index de l’interface NDIS du module de filtre.

NetLuid

Valeur NET_LUID affectée au module de filtre. Le NET_LUID équivaut au nom de l’interface (ifName dans RFC 2863).

FilterClass

Chaîne UNICODE qui spécifie la classe de filtre. Cette chaîne est identique à l’entrée de fichier INF FilterClass .

FilterInstanceName

Nom du filtre instance.

Remarques

The La fonction NdisEnumerateFilterModules retourne une structure NDIS_FILTER_INTERFACE pour chaque filtre dans la pile des pilotes. Le membre Flags identifie le filtre en tant que pilote intermédiaire de filtre NDIS 5.1 ou antérieur ou module de filtre NDIS 6.0 ou ultérieur.

Un filtre léger peut s’insérer ou se supprimer dynamiquement du chemin d’envoi ou de réception en appelant NdisFRestartFilter et en fournissant une structure NDIS_FILTER_PARTIAL_CHARACTERISTICS à NdisSetOptionalHandlers.

Configuration requise

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

Voir aussi

NDIS_OBJECT_HEADER

NET_LUID

NdisEnumerateFilterModules