OID_SWITCH_NIC_SAVE

Hyper-V 可扩展交换机的协议边缘在作期间发出OID_SWITCH_NIC_SAVE的对象标识符(OID)方法请求,以保存可扩展交换机端口及其网络适配器连接的运行时数据。 该扩展返回此数据,以便稍后可以保存和还原运行时数据。 保存运行时数据后,将通过 OID 集请求还原 OID_SWITCH_NIC_RESTORE

NDIS_OID_REQUEST 结构的 InformationBuffer 成员包含指向 NDIS_SWITCH_NIC_SAVE_STATE 结构的指针。 此结构由可扩展交换机的协议边缘分配。

言论

当它收到 OID_SWITCH_NIC_SAVE 的 OID 方法请求时,可扩展交换机扩展通过执行以下作来保存运行时数据:

  • 该扩展从 SaveDataOffset 字节开始,将数据保存在 NDIS_SWITCH_NIC_SAVE_STATE 结构中。

  • 如果提供的 SaveDataSize 不足以保存所需的保存数据,则扩展会将方法结构的 BytesNeeded 字段设置为NDIS_SIZEOF_NDIS_SWITCH_NIC_SAVE_STATE_REVISION_1加上保存数据所需的缓冲区量,并使用NDIS_STATUS_BUFFER_TOO_SHORT完成 OID。 将使用所需大小重新颁发 OID。

  • 该扩展使用自己的标识符和名称填充 ExtensionIdExtensionFriendlyName 字段,并使用NDIS_STATUS_SUCCESS完成 OID 方法请求。 这会导致可扩展交换机的协议边缘发出另一个 OID 方法请求,以允许扩展返回更多保存数据,或者允许堆栈中的其他扩展保存自己的数据。

注意 如果扩展没有要保存的运行时数据,则必须调用 NdisFOidRequest 将此 OID 方法请求转发到可扩展交换机驱动程序堆栈中的基础扩展。 有关此过程的详细信息,请参阅 筛选 NDIS 筛选器驱动程序中的 OID 请求

Hyper-V 可扩展交换机在发出 OID 之前填充 标头PortIdNicIdexSaveDataSizeSaveDataOffset 字段。 扩展无法修改这些字段。

OID_SWITCH_NIC_SAVE的 OID 方法请求最终由可扩展交换机的基础微型端口边缘处理。 在可扩展交换机的微型端口边缘收到此 OID 方法请求后,它将使用 NDIS_STATUS_SUCCESS 完成 OID 请求。 这会通知可扩展交换机的协议边缘,扩展交换机驱动程序堆栈中的所有扩展都已查询运行时数据。 然后,可扩展交换机的协议边缘发出 OID_SWITCH_NIC_SAVE_COMPLETE 的 OID 集请求来完成保存作。

有关如何保存可扩展交换机端口的运行时数据的详细信息,请参阅 保存 Hyper-V 可扩展交换机 Run-Time 数据

返回状态代码

可扩展交换机扩展为 OID_SWITCH_NIC_SAVE 的 OID 方法请求返回以下状态代码之一。

状态代码 描述

NDIS_STATUS_BUFFER_TOO_SHORT

对于 NDIS_SWITCH_NIC_SAVE_STATE 及其关联的运行时数据,信息缓冲区的长度太小。可扩展交换机扩展必须设置 数据。METHOD_INFORMATION。NDIS_OID_REQUEST 结构中的 BytesNeeded 成员达到所需的最小缓冲区大小。

NDIS_STATUS_SUCCESS

如果扩展返回要保存的运行时数据,则返回此状态。

NDIS_STATUS_Xxx

由于其他原因,请求失败。

可扩展交换机的基础微型端口边缘返回OID_SWITCH_NIC_SAVE的 OID 方法请求的以下状态代码。

状态代码 描述

NDIS_STATUS_SUCCESS

OID 请求已成功完成。

要求

版本

NDIS 6.30 及更高版本中受支持。

页眉

Ntddndis.h (包括 Ndis.h)

另请参阅


NDIS_OID_REQUEST

NDIS_SWITCH_NIC_SAVE_STATE

NdisFOidRequest

OID_SWITCH_NIC_RESTORE

OID_SWITCH_NIC_SAVE_COMPLETE