共用方式為


NDIS_SWITCH_GET_NET_BUFFER_LIST_DESTINATIONS回呼函式 (ndis.h)

GetNetBufferListDestinations 函式會傳回NET_BUFFER_LIST結構所指定封包的 Hyper-V 可延伸交換器目的地埠。

語法

NDIS_SWITCH_GET_NET_BUFFER_LIST_DESTINATIONS NdisSwitchGetNetBufferListDestinations;

void NdisSwitchGetNetBufferListDestinations(
  [in]      NDIS_SWITCH_CONTEXT NdisSwitchContext,
  [in, out] PNET_BUFFER_LIST NetBufferList,
  [out]     PNDIS_SWITCH_FORWARDING_DESTINATION_ARRAY *Destinations
)
{...}

參數

[in] NdisSwitchContext

NDIS_SWITCH_CONTEXT值,其中包含附加 Hyper-V 可延伸交換器擴充功能之可延伸交換器模組的句柄。 當擴充功能呼叫 NdisFGetOptionalSwitchHandlers 時,此句柄會透過 NdisSwitchContext 參數傳回。

[in, out] NetBufferList

NET_BUFFER_LIST 結構連結清單的指標。

注意 如果 NetBufferList 參數包含多個 NET_BUFFER_LIST 結構連結清單的指標,則目的地埠只會從清單中的第一個 NET_BUFFER_LIST 結構傳回。
 

[out] Destinations

NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 結構的指標。 此結構會指定封包的可延伸交換器目的地埠。

傳回值

如果呼叫成功,函式會傳回NDIS_STATUS_SUCCESS。 否則,它會傳回 Ndis.h 中定義的NDIS_STATUS_Xxx 錯誤碼。

備註

可延伸交換器擴充功能會呼叫 GetNetBufferListDestinations 函式,以取得封包的可延伸交換器目的地埠陣列。 如果函式成功傳回,則會透過 Destinations 參數取得數位,其中包含 NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 結構的指標。 此陣列中的每個元素都會格式化為 NDIS_SWITCH_PORT_DESTINATION 結構,以指定封包的目的地埠。

如果擴充功能配置封包,擴充功能必須先呼叫 AllocateNetBufferListForwardingContext 函式, 再呼叫 GetNetBufferListDestinationsAllocateNetBufferListForwardingContext 函式會配置封包的可延伸交換器轉送內容。 此內容包含頻外 (OOB) 包含 NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 結構的可延伸交換器數據。

如需可延伸交換器轉送內容的詳細資訊,請參閱 Hyper-V 可延伸交換器轉送內容

擴充功能取得陣列之後,就可以執行下列動作:

注意NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY結構保證有效,而延伸模組會保留封包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