共用方式為


NDIS_SWITCH_SET_NET_BUFFER_LIST_SOURCE回呼函式 (ndis.h)

SetNetBufferListSource 函式會設定 NET_BUFFER_LIST 結構所指定封包的 Hyper-V 可延伸交換器來源埠標識碼和網路適配器索引。

語法

NDIS_SWITCH_SET_NET_BUFFER_LIST_SOURCE NdisSwitchSetNetBufferListSource;

NDIS_STATUS NdisSwitchSetNetBufferListSource(
  [in] NDIS_SWITCH_CONTEXT NdisSwitchContext,
       PNET_BUFFER_LIST NetBufferList,
  [in] NDIS_SWITCH_PORT_ID PortId,
  [in] NDIS_SWITCH_NIC_INDEX NicIndex
)
{...}

參數

[in] NdisSwitchContext

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

NetBufferList

單一封包 NET_BUFFER_LIST 結構的指標。

Note 這個結構必須包含先前透過呼叫 AllocateNetBufferListForwardingContext 函式所配置的可延伸交換器轉送內容。 如需可延伸交換器轉送內容的詳細資訊,請參閱 Hyper-V 可延伸交換器轉送內容
 

[in] PortId

NDIS_SWITCH_PORT_ID值,指定可延伸交換器上來源埠的唯一標識碼。

[in] NicIndex

NDIS_SWITCH_NIC_INDEX值,指定連接到 PortId 參數所指定之可延伸交換器埠的網路適配器索引。

如需NDIS_SWITCH_NIC_INDEX值的詳細資訊,請參閱 網路配接器索引值

注意 此參數必須指定處於連線狀態之網路適配器的索引值。 無法指定處於已建立或中斷連線狀態之網路適配器的索引值。 如需網路連線狀態的詳細資訊,請參閱 Hyper-V 可延伸交換器埠和網路適配器狀態
 

傳回值

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

言論

可延伸交換器擴充功能會呼叫 SetNetBufferListSource 函式,以在封包的 NET_BUFFER_LIST 結構中設定來源埠標識符和網路適配器索引。 擴充功能會針對下列類型的封包執行此動作:

在這兩種情況下,新的或重複的封包會將其來源埠識別碼設定為 NDIS_SWITCH_DEFAULT_PORT_ID,並將來源網路適配器索引設定為 NDIS_SWITCH_DEFAULT_NIC_INDEX。 擴充功能會呼叫 SetNetBufferListSource 函式,以變更封包 NET_BUFFER_LIST 結構中的來源埠標識符和網路適配器索引。

例如,具有 NDIS_SWITCH_DEFAULT_PORT_ID 來源埠標識符的封包會受到信任,並略過許多可延伸的交換器埠原則。 這些原則包括訪問控制清單(ACL)和服務品質(QoS)。 如果擴充功能指定封包的非預設來源埠,這可讓該埠的原則套用至封包。

注意 因為來源埠標識符為 NDIS_SWITCH_DEFAULT_PORT_ID 的封包受到信任,所以擴充功能在產生封包流量時,必須非常小心地使用此來源埠標識符。 如需針對來源埠建議使用 NDIS_SWITCH_DEFAULT_PORT_ID 的詳細資訊,請參閱 管理 Hyper-V 可延伸交換器源埠數據
 
如需封包傳送和接收作業的詳細資訊,請參閱 篩選模組傳送和接收作業

要求

要求 價值
最低支援的用戶端 NDIS 6.30 和更新版本支援。
目標平臺 桌面
標頭 ndis.h (包括 Ndis.h)
IRQL <= DISPATCH_LEVEL

另請參閱

AllocateNetBufferListForwardingContext

NET_BUFFER

NET_BUFFER_LIST

NdisAllocateCloneNetBufferList

NdisFGetOptionalSwitchHandlers