OID_SWITCH_PORT_DELETE

Hyper-V 可扩展交换机的协议边缘发出对象标识符 (OID) OID_SWITCH_PORT_DELETE集请求,以通知可扩展交换机扩展删除可扩展交换机端口。

NDIS_OID_REQUEST 结构的 InformationBuffer 成员包含指向NDIS_SWITCH_PORT_PARAMETERS结构的指针。

注解

NDIS_SWITCH_PORT_PARAMETERS 结构的 PortId 成员指定要为其发出删除通知的可扩展交换机端口。

如果网络适配器连接到指定的端口,可扩展交换机的协议边缘将在删除端口之前删除连接。 在这种情况下,协议边缘在删除端口之前将遵循以下步骤:

  • 协议边缘发出 OID_SWITCH_NIC_DISCONNECT 的 OID 集请求,通知扩展网络适配器与可扩展交换机端口之间的连接已删除。

  • 取消或完成指定可扩展交换机端口的所有挂起数据包后,协议边缘会发出 OID_SWITCH_NIC_DELETE 的 OID 集请求,通知扩展网络适配器和可扩展交换机端口之间的连接已删除。

    此时,协议边缘可以开始删除端口。

可扩展交换机的协议边缘在删除可扩展交换机端口时遵循以下步骤:

  1. 可扩展交换机的协议边缘发出 OID_SWITCH_PORT_TEARDOWN的 OID 集请求。 此 OID 请求通知基础可扩展交换机扩展有关可扩展交换机端口删除过程的开始。

  2. 协议边缘在对可扩展交换机端口的所有 OID 请求完成后发出OID_SWITCH_PORT_DELETE的 OID 集请求。

    注意如果扩展以前调用 ReferenceSwitchPort 来递增端口的引用计数器,则必须在协议边缘发出OID_SWITCH_NIC_DELETE请求之前调用 DereferenceSwitchPort

扩展必须遵循以下准则来处理OID_SWITCH_PORT_DELETE的 OID 集请求:

  • 扩展不得修改与 OID 请求关联的 NDIS_SWITCH_PORT_PARAMETERS 结构。

  • 扩展必须始终将此 OID 集请求转发到基础扩展。 扩展不得使请求失败。

  • 使用 NDIS_STATUS_SUCCESS 完成OID_SWITCH_PORT_DELETE请求后,扩展将不会收到已删除端口的任何数据包或 OID 请求。 扩展无法将数据包转发到已删除的端口。 扩展也不能发出 OID 请求,也不能为已删除的端口调用 ReferenceSwitchPort 函数。

注意 可扩展交换机扩展不得发出OID_SWITCH_PORT_DELETE的 OID 集请求。

有关可扩展交换机端口和网络适配器连接状态的详细信息,请参阅 Hyper-V 可扩展交换机端口和网络适配器状态

返回状态代码

可扩展交换机的基础微型端口边缘完成 OID_SWITCH_PORT_DELETE 的 OID 集请求并返回以下状态代码。

状态代码 说明

NDIS_STATUS_SUCCESS

OID 请求已成功完成。

要求

版本

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

标头

Ntddndis.h (包括 Ndis.h)

另请参阅


DereferenceSwitchPort

NDIS_OID_REQUEST

NDIS_SWITCH_PORT_PARAMETERS

NdisFOidRequest

OID_SWITCH_NIC_DELETE

OID_SWITCH_PORT_ARRAY

ReferenceSwitchPort