共用方式為


NDIS_SWITCH_REFERENCE_SWITCH_PORT回呼函式 (ndis.h)

ReferenceSwitchPort 函式會遞增可延伸交換器埠的 Hyper-V 可延伸交換器參考計數器。

語法

NDIS_SWITCH_REFERENCE_SWITCH_PORT NdisSwitchReferenceSwitchPort;

NDIS_STATUS NdisSwitchReferenceSwitchPort(
  [in] NDIS_SWITCH_CONTEXT NdisSwitchContext,
  [in] NDIS_SWITCH_PORT_ID SwitchPortId
)
{...}

參數

[in] NdisSwitchContext

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

[in] SwitchPortId

NDIS_SWITCH_PORT_ID值,其中包含可延伸交換器參考計數器遞增的可延伸交換器埠的唯一標識符。

NoteSwitchPortId 參數必須指定處於已建立狀態的埠識別符。 無法指定處於卸除或刪除狀態之埠的標識碼。 如需埠狀態的詳細資訊,請參閱 Hyper-V 可延伸交換器埠和網路適配器狀態
 

傳回值

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

言論

可延伸交換器擴充功能會呼叫 ReferenceSwitchPort,以遞增可延伸交換器埠的參考計數器。 雖然參考計數器具有非零值,但可延伸交換器的通訊協定邊緣將不會發出 OID_SWITCH_PORT_DELETE 的物件標識碼 (OID) 集合要求,以刪除可延伸交換器埠。

擴充功能呼叫 ReferenceSwitchPort之後,它必須呼叫 DereferenceSwitchPort 以遞減參考計數器。

擴充功能會在埠到達建立 狀態 埠之後,呼叫 ReferenceSwitchPort。 擴充功能在連線到達 埠終止 或未建立 狀態 埠之後,不得呼叫 ReferenceSwitchPort。 如需這些狀態的詳細資訊,請參閱 Hyper-V 可延伸交換器埠和網路配接器狀態

當擴充功能執行任何需要埠處於作用中狀態的作業時,必須呼叫 ReferenceSwitchPort。 例如,擴充功能必須先呼叫 ReferenceSwitchPort,才能發出 OID_SWITCH_PORT_PROPERTY_ENUM的 OID 方法要求。

擴充功能會在埠到達建立 狀態 埠之後,呼叫 ReferenceSwitchPort。 擴充功能在埠到達 埠終止 狀態之後,不得呼叫 ReferenceSwitchNic。 如需這些狀態的詳細資訊,請參閱 Hyper-V 可延伸交換器埠和網路配接器狀態

注意 當擴充功能呼叫 ReferenceSwitchPort時,它不需要與處理 OID 要求的程式代碼同步處理呼叫。 因此,擴充功能可能會呼叫 ReferenceSwitchPort,而可延伸交換器的通訊協定邊緣會發出 OID_SWITCH_PORT_TEARDOWN的 OID 要求。 不過,如果呼叫 ReferenceSwitchPort 完成NDIS_STATUS_SUCCESS,擴充功能仍可在處理 OID_SWITCH_PORT_TEARDOWN OID 要求之後發出 OID_SWITCH_PORT_PROPERTY_ENUM OID 要求。
 

要求

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

另請參閱

DereferenceSwitchNic

NdisFGetOptionalSwitchHandlers

OID_SWITCH_PORT_DELETE

OID_SWITCH_PORT_PROPERTY_ENUM

OID_SWITCH_PORT_TEARDOWN