共用方式為


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值,其中包含可延伸交換器參考計數器遞增之可延伸交換器埠的唯一標識符。

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

傳回值

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

備註

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

擴充功能呼叫 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