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,擴充功能會在擴充功能迷你埠發出 NetEventSwitchActivateNET_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 集合要求轉送至基礎延伸模組。 延伸模組不得讓要求失敗。
Note 延伸模組不得修改與 OID 要求相關聯的 NDIS_SWITCH_PORT_PARAMETERS 結構。
延伸模組轉送此 OID 要求之後,就無法將封包轉送至已刪除的埠。 延伸模組也無法發出 OID 要求,也無法針對已刪除的埠呼叫 ReferenceSwitchPort 函式。
附註 延伸模組不得發出 OID 集合要求OID_SWITCH_PORT_TEARDOWN。
如需可延伸交換器埠和網路適配器連線狀態的詳細資訊,請參閱 Hyper-V 可延伸交換器埠和網路適配器狀態。
傳回狀態代碼
可延伸交換器的基礎迷你埠邊緣會完成 OID_SWITCH_PORT_TEARDOWN 的 OID 集合要求,並傳回下列狀態代碼。
| 狀態代碼 | 描述 |
|---|---|
NDIS_STATUS_SUCCESS |
OID 要求已順利完成。 |
要求
版本 |
NDIS 6.30 和更新版本支援。 |
頁眉 |
Ntddndis.h (包括 Ndis.h) |