NDIS_SWITCH_GROW_NET_BUFFER_LIST_DESTINATIONS回调函数 (ndis.h)

GrowNetBufferListDestinations 函数为 NET_BUFFER_LIST 结构指定的数据包添加额外的 Hyper-V 可扩展交换机目标端口的空间。

语法

NDIS_SWITCH_GROW_NET_BUFFER_LIST_DESTINATIONS NdisSwitchGrowNetBufferListDestinations;

NDIS_STATUS NdisSwitchGrowNetBufferListDestinations(
  [in]  NDIS_SWITCH_CONTEXT NdisSwitchContext,
        PNET_BUFFER_LIST NetBufferList,
  [in]  UINT32 NumberOfNewDestinations,
  [out] PNDIS_SWITCH_FORWARDING_DESTINATION_ARRAY *Destinations
)
{...}

参数

[in] NdisSwitchContext

一个NDIS_SWITCH_CONTEXT值,该值包含附加到 Hyper-V 可扩展交换机扩展的可扩展交换机模块的句柄。 当扩展调用 NdisFGetOptionalSwitchHandlers时,将通过 NdisSwitchContext 参数返回此句柄。

NetBufferList

指向 NET_BUFFER_LIST 结构链接列表的指针。

注释 此结构必须包含可扩展的切换转发上下文。 如果创建或克隆了数据包的扩展,则必须通过调用 AllocateNetBufferListForwardingContext 函数来分配此结构。 有关可扩展交换机转发上下文的详细信息,请参阅 Hyper-V 可扩展交换机转发上下文
 

[in] NumberOfNewDestinations

一个 UINT32 值,该值指定要为数据包添加的新目标端口数。

[out] Destinations

指向 NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 结构的指针。 此结构指定数据包的可扩展交换机目标端口。

返回值

如果调用成功,该函数将返回NDIS_STATUS_SUCCESS。 否则,它将返回在 Ndis.h 中定义的 NDIS_STATUS_Xxx 错误代码。

言论

可扩展交换机扩展调用 GrowNetBufferListDestinations 函数,为数据包的目标端口添加空间。 端口目标通过 NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 结构指定。

有关如何向数据包添加目标端口的详细信息,请参阅 向数据包添加可扩展交换机目标端口数据

注意 如果 NetBufferList 参数包含指向多个 NET_BUFFER_LIST 结构的链接列表的指针,则其他目标端口的空间只会添加到列表中的第一个 NET_BUFFER_LIST 结构中。
 

要求

要求 价值
最低支持的客户端 NDIS 6.30 及更高版本中受支持。
目标平台 桌面
标头 ndis.h (包括 Ndis.h)
IRQL <= DISPATCH_LEVEL

另请参阅

AllocateNetBufferListForwardingContext

NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY

NDIS_SWITCH_PORT_DESTINATION

NET_BUFFER

NET_BUFFER_LIST

NdisFGetOptionalSwitchHandlers

UpdateNetBufferListDestinations