NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 结构 (ndis.h)
NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 结构指定数据包的 Hyper-V 可扩展交换机目标端口数组。 数组中的每个元素都格式化为 NDIS_SWITCH_PORT_DESTINATION 结构。
此信息包含在带外 (OOB) 数据包 NET_BUFFER_LIST 结构的数据中。
语法
typedef struct _NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY {
NDIS_OBJECT_HEADER Header;
UINT32 ElementSize;
UINT32 NumElements;
UINT32 NumDestinations;
PVOID FirstElement;
} NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY, *PNDIS_SWITCH_FORWARDING_DESTINATION_ARRAY;
成员
Header
NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 结构的类型、修订和大小。 此成员的格式设置为 NDIS_OBJECT_HEADER 结构。
Header 的 Type 成员必须设置为 NDIS_OBJECT_TYPE_DEFAULT。 若要指定 NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 结构的版本,必须将 Header 的 Revision 成员设置为以下值:
NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY_REVISION_1
NDIS 6.30 及更高版本的原始版本。
将 Size 成员设置为 NDIS_SIZEOF_NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY_REVISION_1。
ElementSize
一个 ULONG 值,该值指定NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 结构后面的每个 NDIS_SWITCH_PORT_DESTINATION 元素的大小 ( 以字节为单位)。
NumElements
一个 ULONG 值,该值指定NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 结构中NDIS_SWITCH_PORT_DESTINATION元素的总数。
NumElements 成员的值指定由 NumDestinations 成员 () 指定的当前使用的NDIS_SWITCH_PORT_DESTINATION元素数,以及可用于新目标端口的元素数。 NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 结构中未使用的NDIS_SWITCH_PORT_DESTINATION元素数由 NumElementsNumDestinations - ) (计算。
NumDestinations
一个 ULONG 值,该值指定 NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 结构中指定端口目标的 NDIS_SWITCH_PORT_DESTINATION 元素的数目。
FirstElement
指向缓冲区中第一个 NDIS_SWITCH_PORT_DESTINATION 元素的指针,该元素包含 NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 结构及其所有元素。
注解
可扩展交换机扩展可以使用数据包 NET_BUFFER_LIST 结构中的目标端口执行以下操作:
-
查询数据包将转发到的可扩展交换机上的当前目标端口。
可扩展交换机扩展调用 GetNetBufferListDestinations 函数以获取数据包的端口目标数组。 GetNetBufferListDestinations 返回指向 Destinations 参数中的 NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 结构的指针。
有关详细信息,请参阅 查询数据包的可扩展交换机目标端口数据。
-
添加或修改数据包的目标端口。
在查询数据包的当前目标端口后,可扩展交换机扩展可以执行以下操作:
- 转发扩展可以将新的目标端口添加到 NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 结构。
-
筛选或转发扩展插件可以修改目标端口 NDIS_SWITCH_PORT_DESTINATION 结构中的数据。
注意 筛选扩展只能更改此结构的 IsExcluded 成员。 转发扩展还可以更改 PreserveVLAN 和 PreservePriority 成员。
有关详细信息,请参阅 管理 Hyper-V 可扩展交换机目标端口数据。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 NDIS 6.30 及更高版本中受支持。 |
标头 | ndis.h (包括 Ndis.h) |
另请参阅