共用方式為


NDIS_SWITCH_REFERENCE_SWITCH_NIC回呼函式 (ndis.h)

ReferenceSwitchNic 函式會針對連線至可延伸交換器埠的網路適配器,遞增 Hyper-V 可延伸交換器參考計數器。

語法

NDIS_SWITCH_REFERENCE_SWITCH_NIC NdisSwitchReferenceSwitchNic;

NDIS_STATUS NdisSwitchReferenceSwitchNic(
  [in] NDIS_SWITCH_CONTEXT NdisSwitchContext,
  [in] NDIS_SWITCH_PORT_ID SwitchPortId,
  [in] NDIS_SWITCH_NIC_INDEX SwitchNicIndex
)
{...}

參數

[in] NdisSwitchContext

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

[in] SwitchPortId

NDIS_SWITCH_PORT_ID值,其中包含虛擬網路適配器所連線之可延伸交換器埠的唯一標識符。

[in] SwitchNicIndex

NDIS_SWITCH_NIC_INDEX值,指定要遞增可延伸交換器參考計數器之虛擬網路適配器的索引。

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

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

傳回值

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

備註

可延伸交換器擴充功能會呼叫 ReferenceSwitchNic ,以遞增連接到可延伸交換器埠之網路適配器的參考計數器。 雖然參考計數器具有非零值,但可延伸交換器的通訊協定邊緣將不會發出物件標識元, (OID) 設定OID_SWITCH_NIC_DELETE 要求來刪除 配接器的連線。

擴充功能呼叫 ReferenceSwitchNic 之後,它必須呼叫 DereferenceSwitchNic 來遞減可延伸的交換器參考計數器。

擴充功能應該先呼叫 ReferenceSwitchNic ,再執行下列作業:

注意 延伸模組在透過可延伸交換器數據路徑轉送封包時,不得呼叫 ReferenceSwitchNic 。 可延伸交換器介面會針對透過數據路徑轉送至埠和網路適配器連線的封包,管理自己的參考計數器。
 
擴充功能會在網路適配器連線到達網路適配器連線建立狀態之後呼叫 ReferenceSwitchNic。 在連線已中斷連線或網路適配器已刪除狀態之後,擴充功能不得呼叫 ReferenceSwitchNic。 如需這些狀態的詳細資訊,請參閱 Hyper-V 可延伸交換器埠和網路適配器狀態
注意 當擴充功能呼叫 ReferenceSwitchNic 時,不需要同步處理呼叫與其處理 OID 要求的程式碼。 因此,擴充功能可以呼叫 ReferenceSwitchNic ,而可延伸交換器的通訊協定邊緣會發出 OID_SWITCH_NIC_DISCONNECT 的 OID 要求。 不過,如果 ReferenceSwitchNic 的呼叫完成NDIS_STATUS_SUCCESS,擴充功能仍然可以在處理OID_SWITCH_NIC_DISCONNECT OID 要求之後轉送 OID_SWITCH_NIC_REQUEST OID 要求或 NDIS_STATUS_SWITCH_NIC_STATUS 狀態指示。
 

規格需求

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

另請參閱

DereferenceSwitchNic

NDIS_STATUS_SWITCH_NIC_STATUS

NdisFGetOptionalSwitchHandlers

OID_SWITCH_NIC_DELETE

OID_SWITCH_NIC_DISCONNECT

OID_SWITCH_NIC_REQUEST