NDIS_FILTER_INTERFACE 结构 (ndis.h)

NDIS_FILTER_INTERFACE 结构定义 NDIS 筛选器的属性。

语法

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;

成员

Header

筛选器接口结构的 NDIS_OBJECT_HEADER 结构。

NDIS 将 Header 指定的结构的 Type 成员设置为 NDIS_OBJECT_TYPE_DEFAULT。

如果传递给 NdisEnumerateFilterModules 的句柄 属于 NDIS 6.30 或更高版本对象,则 NDIS 将 Revision 设置为 NDIS_FILTER_INTERFACE_REVISION_2, 将 Size 设置为 NDIS_SIZEOF_FILTER_INTERFACE_REVISION_2。

如果传递给 NdisEnumerateFilterModules 的句柄 属于 NDIS 6.20 或更早的对象,则 NDIS 将 Revision 设置为 NDIS_FILTER_INTERFACE_REVISION_1 ,将 Size 设置为 NDIS_SIZEOF_FILTER_INTERFACE_REVISION_1。

Flags

一个位字段,用于定义实现筛选器的 NDIS 驱动程序的类型。 此成员必须设置为以下驱动程序类型之一:

NDIS_FILTER_INTERFACE_IM_FILTER

筛选器在 NDIS 5.1 或更早版本的筛选器中间驱动程序中实现。

NDIS_FILTER_INTERFACE_LW_FILTER

筛选器在 NDIS 6.0 或更高版本筛选器驱动程序中实现。

NDIS_FILTER_INTERFACE_SEND_BYPASS

筛选器当前未附加到发送路径。 仅当 Header.Revision 大于或等于 NDIS_FILTER_INTERFACE_REVISION_2 时才设置此标志。

NDIS_FILTER_INTERFACE_RECEIVE_BYPASS

筛选器当前未附加到接收路径。 仅当 Header.Revision 大于或等于 NDIS_FILTER_INTERFACE_REVISION_2 时才设置此标志。

FilterType

筛选器的行为类型。 此类型必须是以下值之一:

NdisFilterTypeMonitoring = 1

监视筛选器。

NdisFilterTypeModification = 2

修改筛选器。

FilterRunType

筛选器的运行时附件优先级类型。 此类型必须是以下值之一:

NdisFilterRunTypeMandatory = 1

强制筛选器。 如果筛选器未附加到驱动程序堆栈,NDIS 将拆解堆栈的其余部分。

NdisFilterRunTypeOptional = 2

可选筛选器。 如果筛选器未附加到驱动程序堆栈,NDIS 不会拆解堆栈的其余部分。

IfIndex

筛选器模块的 NDIS 接口索引。

NetLuid

分配给筛选器模块 的NET_LUID 值。 NET_LUID等效于 RFC 2863) 中的 ifName (接口名称。

FilterClass

指定筛选器类的 UNICODE 字符串。 此字符串与 FilterClass INF 文件条目相同。

FilterInstanceName

筛选器实例名称。

注解

The NdisEnumerateFilterModules 函数为驱动程序堆栈中的每个筛选器返回一个NDIS_FILTER_INTERFACE结构。 Flags 成员将筛选器标识为 NDIS 5.1 或更低版本的筛选器中间驱动程序或 NDIS 6.0 或更高版本的 NDIS 筛选器模块。

轻量级筛选器可以通过调用 NdisFRestartFilter 并为 NdisSetOptionalHandlers 提供NDIS_FILTER_PARTIAL_CHARACTERISTICS结构,从发送或接收路径中动态插入或删除自身。

要求

要求
最低受支持的客户端 在 NDIS 6.0 及更高版本中受支持。
标头 ndis.h (包括 Ndis.h)

另请参阅

NDIS_OBJECT_HEADER

NET_LUID

NdisEnumerateFilterModules