NDIS_FILTER_ATTACH_PARAMETERS 结构 (ndis.h)
NDIS_FILTER_ATTACH_PARAMETERS 结构定义筛选器模块的初始化参数。
语法
typedef struct _NDIS_FILTER_ATTACH_PARAMETERS {
NDIS_OBJECT_HEADER Header;
NET_IFINDEX IfIndex;
NET_LUID NetLuid;
PNDIS_STRING FilterModuleGuidName;
NET_IFINDEX BaseMiniportIfIndex;
PNDIS_STRING BaseMiniportInstanceName;
PNDIS_STRING BaseMiniportName;
NDIS_MEDIA_CONNECT_STATE MediaConnectState;
NET_IF_MEDIA_DUPLEX_STATE MediaDuplexState;
ULONG64 XmitLinkSpeed;
ULONG64 RcvLinkSpeed;
NDIS_MEDIUM MiniportMediaType;
NDIS_PHYSICAL_MEDIUM MiniportPhysicalMediaType;
NDIS_HANDLE MiniportMediaSpecificAttributes;
PNDIS_OFFLOAD DefaultOffloadConfiguration;
USHORT MacAddressLength;
UCHAR CurrentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH];
NET_LUID BaseMiniportNetLuid;
NET_IFINDEX LowerIfIndex;
NET_LUID LowerIfNetLuid;
ULONG Flags;
PNDIS_HD_SPLIT_CURRENT_CONFIG HDSplitCurrentConfig;
PNDIS_RECEIVE_FILTER_CAPABILITIES ReceiveFilterCapabilities;
PDEVICE_OBJECT MiniportPhysicalDeviceObject;
PNDIS_NIC_SWITCH_CAPABILITIES NicSwitchCapabilities;
BOOLEAN BaseMiniportIfConnectorPresent;
PNDIS_SRIOV_CAPABILITIES SriovCapabilities;
PNDIS_NIC_SWITCH_INFO_ARRAY NicSwitchArray;
} NDIS_FILTER_ATTACH_PARAMETERS, *PNDIS_FILTER_ATTACH_PARAMETERS;
成员
Header
NDIS_FILTER_ATTACH_PARAMETERS 结构的NDIS_OBJECT_HEADER结构。 NDIS 将 Header 指定的结构的 Type 成员设置为 NDIS_OBJECT_TYPE_FILTER_ATTACH_PARAMETERS。
为了指示 NDIS_FILTER_ATTACH_PARAMETERS 结构的版本,NDIS 将 Revision 成员设置为以下值之一:
NDIS_FILTER_ATTACH__PARAMETERS_REVISION_4
为 NDIS 6.30 添加了各种成员。
NDIS 将 Size 成员设置为 NDIS_SIZEOF_FILTER_ATTACH_PARAMETERS_REVISION_4。
NDIS_FILTER_ATTACH_PARAMETERS_REVISION_3
为 NDIS 6.20 添加了 ReceiveFilterCapabilities、 MiniportPhysicalDeviceObject 和 NicSwitchCapabilities 成员。
NDIS 将 Size 成员设置为 NDIS_SIZEOF_FILTER_ATTACH_PARAMETERS_REVISION_3。
NDIS_FILTER_ATTACH_PARAMETERS_REVISION_2
为 NDIS 6.1 添加了 HDSplitCurrentConfig 成员。
NDIS 将 Size 成员设置为 NDIS_SIZEOF_FILTER_ATTACH_PARAMETERS_REVISION_2。
NDIS_FILTER_ATTACH_PARAMETERS_REVISION_1
NDIS 6.0 的原始版本。
NDIS 将 Size 成员设置为 NDIS_SIZEOF_FILTER_ATTACH_PARAMETERS_REVISION_1。
IfIndex
NDIS 附加到驱动程序堆栈的筛选器模块的 NDIS 接口索引。
NetLuid
NDIS 网络接口 NET_LUID NDIS 附加到驱动程序堆栈的筛选器模块的值。 NET_LUID等效于 RFC 2863) 中的 ifName (接口名称。
FilterModuleGuidName
NDIS 所附加的筛选器模块的 GUID 名称。
BaseMiniportIfIndex
基本微型端口适配器的 NDIS 网络接口索引。 也就是说,如果有虚拟微型端口或筛选器模块安装在物理微型端口适配器上,则此成员的值是物理微型端口适配器的接口索引或最高级别 MUX 中间驱动程序的虚拟微型端口。
BaseMiniportInstanceName
指向包含计数 Unicode 字符串的NDIS_STRING类型值的指针。 此字符串指定基本微型端口适配器的接口的友好名称。 对于 Windows 2000 及更高版本,NDIS 将NDIS_STRING类型定义为 UNICODE_STRING 类型。
BaseMiniportName
基本微型端口适配器的名称。
MediaConnectState
The NET_IF_MEDIA_CONNECT_STATE 连接状态类型。
MediaDuplexState
基础微型端口适配器的媒体双工状态。 有关详细信息,请参阅 OID_GEN_MEDIA_DUPLEX_STATE。
XmitLinkSpeed
基础微型端口适配器的当前传输链路速度(以位/秒为单位)。 有关详细信息,请参阅 OID_GEN_LINK_SPEED_EX。
RcvLinkSpeed
基础微型端口适配器的当前接收链接速度(以位/秒为单位)。 有关详细信息,请参阅 OID_GEN_LINK_SPEED_EX。
MiniportMediaType
基础微型端口适配器支持的 NdisMediumXxx 类型。 有关详细信息,请参阅 NDIS_MEDIUM。
MiniportPhysicalMediaType
基础微型端口适配器的物理介质类型。 有关详细信息,请参阅 OID_GEN_PHYSICAL_MEDIUM。
MiniportMediaSpecificAttributes
指向 NDIS_OBJECT_HEADER 结构的指针,该结构标识包含特定于微型端口媒体的属性;如果没有此类属性,则为 NULL 。 NDIS_OBJECT_HEADER 结构的 Type 成员标识属性结构的类型。 例如,如果基础微型端口适配器的媒体类型 NdisMediumNative802_11,则 Type 成员应NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_NATIVE_802_11_ATTRIBUTES,并且 MiniportMediaSpecificAttributes 成员指向 NDIS_MINIPORT_ADAPTER_NATIVE_802_11_ATTRIBUTES 结构。
DefaultOffloadConfiguration
指向定义任务卸载属性 的NDIS_OFFLOAD 结构的指针。 筛选器驱动程序应查看这些属性,以获取基础驱动程序的任务卸载功能。 如有必要,筛选器驱动程序应修改这些属性,以反映它所需的任务卸载支持中的任何更改。
MacAddressLength
MAC 地址长度(以字节为单位)。 MAC 地址长度特定于媒体类型。
CurrentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH]
当前 MAC 地址。 例如, OID_802_3_CURRENT_ADDRESS OID 指定 IEEE 802.3 驱动程序的当前 MAC 地址。
BaseMiniportNetLuid
基本微型端口适配器的 NDIS 网络接口 NET_LUID 。 也就是说,如果有通过物理微型端口适配器安装的虚拟微型端口或筛选器模块,则此成员的值是物理微型端口适配器的NET_LUID或最高级别 MUX 中间驱动程序的虚拟微型端口。
LowerIfIndex
当前筛选器模块正下方的接口的 NDIS 网络接口索引。 也就是说,如果有筛选器模块或 NDIS 5。 安装在 物理微型端口适配器或最高级别的 MUX 中间驱动程序上的 x 筛选器中间驱动程序,此成员包含筛选器模块接口或位于当前筛选器模块下方的筛选器中间驱动程序接口的接口索引。 如果没有在物理微型端口适配器或最高级别的 MUX 中间驱动程序上安装筛选器模块或筛选器中间驱动程序接口,则此成员包含基础物理微型端口适配器或最高级别的 MUX 中间驱动程序虚拟微型端口的接口索引。
LowerIfNetLuid
NDIS 网络接口NET_LUID当前筛选器模块下方接口的值。 也就是说,如果有筛选器模块或 NDIS 5。 通过 物理微型端口适配器或最高级别 MUX 中间驱动程序安装的 x 筛选器中间驱动程序,此成员包含位于当前筛选器模块下方的筛选器模块接口或筛选器中间驱动程序接口的网络接口NET_LUID。 如果没有通过物理微型端口适配器或最高级别的 MUX 中间驱动程序安装筛选器模块或筛选器中间驱动程序接口,则此成员包含基础物理微型端口适配器或最高级别的 MUX 中间驱动程序虚拟微型端口的网络接口NET_LUID。
Flags
保留供将来使用。
HDSplitCurrentConfig
指向 的指针 NDIS_HD_SPLIT_CURRENT_CONFIG 结构。 此结构指定基础微型端口适配器的当前标头数据拆分配置。 如果微型端口适配器不支持标头数据拆分,则此值可以为 NULL 。
ReceiveFilterCapabilities
指向 的指针 NDIS_RECEIVE_FILTER_CAPABILITIES 结构。 此结构指定当前在基础微型端口适配器上启用的泛型筛选功能。 如果微型端口适配器不支持接收筛选,则此值可以为 NULL 。
MiniportPhysicalDeviceObject
指向 DEVICE_OBJECT 结构的指针。 此结构表示基础微型端口适配器的物理设备。
NicSwitchCapabilities
指向 的指针 NDIS_NIC_SWITCH_CAPABILITIES 结构。 此结构指定基础微型端口适配器的 NIC 切换功能。 如果微型端口适配器不支持 NIC 交换机功能,则此值可以为 NULL 。
BaseMiniportIfConnectorPresent
一个布尔值,如果设置为 TRUE,则指示如果基础网络适配器上存在) 连接器,则网络接口是否 (。 对于物理适配器,此值应设置为 TRUE。
SriovCapabilities
指向 NDIS_SRIOV_CAPABILITIES 结构的指针。 此结构指定当前在基础微型端口适配器上启用的单根 I/O 虚拟化 (SR-IOV) 功能。 如果微型端口适配器不支持 SR-IOV 功能,则此值可以为 NULL 。
有关详细信息,请参阅 单根 I/O 虚拟化 (SR-IOV) 。
NicSwitchArray
指向 NDIS_NIC_SWITCH_INFO_ARRAY 结构的指针。 此数组枚举已在微型端口适配器上创建的 NIC 开关。 仅当适配器上支持并启用 SR-IOV 时,才能创建 NIC 交换机。
注解
为了定义筛选器模块附加参数,NDIS 会将指向NDIS_FILTER_ATTACH_PARAMETERS结构的指针传递给 FilterAttach 函数。
筛选器驱动程序应避免发出不必要的 OID 查询。 请改用 NDIS_FILTER_ATTACH_PARAMETERS 中的信息(如果可用)来获取有关基础驱动程序的信息。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 NDIS 6.0 及更高版本中受支持。 |
标头 | ndis.h (包括 Ndis.h) |
另请参阅
NDIS_MINIPORT_ADAPTER_NATIVE_802_11_ATTRIBUTES NDIS_RECEIVE_FILTER_CAPABILITIES反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈