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
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour