OID_SWITCH_PORT_TEARDOWN
Hyper-V 可延伸交換器的通訊協定邊緣發出OID_SWITCH_PORT_TEARDOWN的對象識別碼 (OID) 集合要求,以通知基礎可延伸交換器延伸模組,可延伸交換器埠將會開始刪除程式。 當通訊協定驅動程式發出OID_SWITCH_PORT_DELETE的 OID 集合要求時,就會啟動此程式。
NDIS_OID_REQUEST 結構的 InformationBuffer 成員包含NDIS_SWITCH_PORT_PARAMETERS結構的指標。
備註
NDIS_SWITCH_PORT_PARAMETERS 結構的 PortId 成員會指定要建立連線通知的可延伸交換器埠。 可延伸交換器擴充功能必須更新它以下列方式取得之埠的任何快取資訊:
發出OID_SWITCH_PORT_ARRAY的 OID 查詢要求。 只有當 OID_SWITCH_PARAMETERS傳回 IsActive 設定為 TRUE 的NDIS_SWITCH_PARAMETERS結構時,擴充功能才會在 FilterAttach 上發出此 OID。 如果IsActive為 FALSE,擴充功能會在擴充功能迷你埠發出 NetEventSwitchActivate NET_PNP_EVENT時發出 OID。
藉由檢查OID_SWITCH_PORT_CREATE和OID_SWITCH_PORT_DELETE的各種 OID 集合要求。
可延伸交換器的通訊協定邊緣發出 OID_SWITCH_PORT_TEARDOWN 的 OID 集合要求,以通知延伸模組埠正在從可延伸交換器中刪除。 發出此 OID 要求之前,如果埠具有作用中的網路適配器連線,可延伸交換器的通訊協定邊緣先前已發出下列 OID:
OID_SWITCH_NIC_DISCONNECT,這會通知基礎延伸模組網路適配器不再連線到NDIS_SWITCH_PORT_PARAMETERS結構中指定的埠。
OID_SWITCH_NIC_DELETE,通知基礎延伸模組網路適配器與可延伸交換器埠之間的網路連線已刪除。
通訊協議邊緣會在已取消或完成指定可延伸交換器埠的所有暫止封包之後,發出此 OID 集合要求。
延伸模組完成此 OID 集合要求,且可延伸交換器埠的參考計數器為零之後,可延伸交換器的通訊協定邊緣會發出OID_SWITCH_PORT_DELETE的 OID 集合要求。 此 OID 要求會從可延伸交換器刪除埠。
注意 擴充功能會藉由呼叫 ReferenceSwitchPort 來遞增可延伸交換器埠的參考計數器。 擴充功能會藉由呼叫 DereferenceSwitchPort 來遞減參考計數器。
延伸模組必須遵循下列指導方針來處理OID_SWITCH_PORT_TEARDOWN的 OID 集合要求:
延伸模組必須一律將此 OID 集合要求轉送至基礎延伸模組。 延伸模組不得讓要求失敗。
注意 延伸模組不得修改 與 OID 要求相關聯的NDIS_SWITCH_PORT_PARAMETERS 結構。
延伸模組轉送此 OID 要求之後,就無法將封包轉送至已刪除的埠。 延伸模組也無法發出 OID 要求,也無法呼叫已刪除埠的 ReferenceSwitchPort 函式。
注意 延伸模組不得發出 OID_SWITCH_PORT_TEARDOWN 的 OID 集合要求。
如需可延伸交換器埠和網路適配器連線狀態的詳細資訊,請參閱 Hyper-V 可延伸交換器埠和網路適配器狀態。
傳回狀態代碼
可延伸交換器的基礎迷你埠邊緣會完成 OID_SWITCH_PORT_TEARDOWN 的 OID 集合要求,並傳回下列狀態代碼。
狀態碼 | 描述 |
---|---|
NDIS_STATUS_SUCCESS |
OID 要求已順利完成。 |
需求
版本 |
NDIS 6.30 和更新版本支援。 |
頁首 |
Ntddndis.h (包括 Ndis.h) |