OID_SWITCH_NIC_RESTORE

Hyper-V 可扩展交换机的协议边缘发出对象标识符 (OID) OID_SWITCH_NIC_RESTORE集请求,以通知可扩展交换机扩展可以还原可扩展交换机端口及其网络适配器连接的运行时数据。

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