共用方式為


OID_SWITCH_NIC_RESTORE

Hyper-V 可延伸交換器的通訊協定邊緣發出OID_SWITCH_NIC_RESTORE的對象標識碼 (OID) 集合要求,以通知可延伸交換器延伸模組運行時間數據,這些數據可以針對可延伸交換器埠及其網路適配器連線進行還原。

NDIS_OID_REQUEST 結構 InformationBuffer 成員包含 NDIS_SWITCH_NIC_SAVE_STATE 結構的指標。 此結構是由可延伸交換器的通訊協定邊緣所配置。

言論

當它收到 OID_SWITCH_NIC_RESTORE 的 OID 集合要求時,可延伸交換器擴充功能必須先判斷它是否擁有運行時間數據。 擴充功能會藉由將 ExtensionId 的值 與擴充功能用來識別本身 NDIS_SWITCH_NIC_SAVE_STATE 的 GUID 值進行比較,以執行此作業。

如果延伸模組擁有可延伸交換器埠的運行時間數據,它會以下列方式還原此數據:

  1. 延伸模組會將 saveData 中的運行時間數據複製到擴充配置記憶體 成員。

    NotePortId 成員 NDIS_SWITCH_NIC_SAVE_STATE 結構的值可能與儲存運行時間數據時 PortId 值不同。 如果在從一部主機即時移轉至另一個主機期間儲存運行時間數據,就可能發生此情況。 不過,即時移轉期間會保留可延伸交換器埠的設定。 這可讓擴充功能使用新的 PortId 值,將運行時間數據還原至可延伸交換器埠。

  2. 延伸模組會使用 NDIS_STATUS_SUCCESS完成 OID 集合要求。

如果延伸模組未擁有指定的運行時間數據,擴充功能會呼叫 NdisFOidRequest 將此 OID 集合要求轉送至可延伸交換器驅動程式堆疊中的基礎延伸模組。 在此情況下,延伸模組不得修改與 OID 要求相關聯的 NDIS_SWITCH_NIC_SAVE_STATE 結構。

如果可延伸參數的迷你埠邊緣收到OID_SWITCH_NIC_RESTORE集要求,則會使用 NDIS_STATUS_SUCCESS 完成 OID 要求。 這會通知可延伸交換器的通訊協定邊緣,而沒有延伸模組擁有運行時間數據。

如需如何還原執行時間資料的詳細資訊,請參閱 還原 Hyper-V 可延伸交換器 Run-Time 資料

注意 如果擴充功能失敗 OID 集合要求,可延伸的交換器將會失敗整個還原作業。 因此,如果可能的話,擴充功能應該避免失敗 OID 要求。 例如,如果擴充功能無法配置還原運行時間數據所需的資源,則如果無法正常運作,而不需要還原運行時間數據,它應該會失敗 OID 要求。 不過,如果擴充功能可以從失敗狀況中復原,則不應該讓OID集合要求失敗。

傳回狀態代碼

如果擴充功能完成 OID_SWITCH_NIC_RESTORE 的 OID 集合要求,則會傳回下列其中一個狀態代碼。

狀態代碼 描述

NDIS_STATUS_SUCCESS

OID 要求已順利完成。

NDIS_STATUS_Xxx

要求因其他原因而失敗。

要求

版本

NDIS 6.30 和更新版本支援。

頁眉

Ntddndis.h (包括 Ndis.h)

另請參閱


NDIS_OID_REQUEST

NDIS_SWITCH_NIC_SAVE_STATE

NdisFOidRequest