共用方式為


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 函式會配置封包的可延伸交換器轉送內容。 此內容包含包含 NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY 結構的頻外 (OOB) 可延伸交換器數據。

如需可延伸交換器轉送內容的詳細資訊,請參閱 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