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 集请求时,可扩展交换机扩展必须首先确定它是否拥有运行时数据。 扩展通过将 NDIS_SWITCH_NIC_SAVE_STATE 结构的 ExtensionId 成员的值与扩展用于标识自身的 GUID 值进行比较来执行此作。

如果扩展拥有可扩展交换机端口的运行时数据,它将通过以下方式还原此数据:

  1. 该扩展将 SaveData 成员中的运行时数据复制到扩展分配的存储。

    注释 保存运行时数据时,NDIS_SWITCH_NIC_SAVE_STATE 结构的 PortId 成员的值可能与 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