Hyper-V 可扩展交换机的协议边缘发出OID_SWITCH_PORT_DELETE的对象标识符(OID)集请求,以通知可扩展交换机扩展删除可扩展交换机端口。
NDIS_OID_REQUEST 结构的 InformationBuffer 成员包含指向 NDIS_SWITCH_PORT_PARAMETERS 结构的指针。
言论
NDIS_SWITCH_PORT_PARAMETERS 结构的 PortId 成员指定要为其执行删除通知的可扩展交换机端口。
如果网络适配器连接到指定的端口,可扩展交换机的协议边缘将在删除端口之前删除连接。 在这种情况下,协议边缘将在删除端口之前执行以下步骤:
协议边缘发出 OID_SWITCH_NIC_DISCONNECT 的 OID 集请求,以通知扩展正在删除网络适配器和可扩展交换机端口之间的连接。
取消或完成指定可扩展交换机端口的所有挂起数据包后,协议边缘发出 OID 集请求 OID_SWITCH_NIC_DELETE,以通知扩展,网络适配器和可扩展交换机端口之间的连接已被删除。
此时,协议边缘可以开始删除端口。
可扩展交换机的协议边缘在删除可扩展交换机端口时执行以下步骤:
可扩展交换机的协议边缘发出 OID_SWITCH_PORT_TEARDOWN的 OID 集请求。 此 OID 请求向基础可扩展交换机扩展通知可扩展交换机端口的删除过程的开始。
协议边缘在对可扩展交换机端口发出所有 OID 请求完成后发出OID_SWITCH_PORT_DELETE的 OID 集请求。
请注意, 如果扩展之前调用了 ReferenceSwitchPort 来递增端口的引用计数器,则必须在协议边缘发出 OID_SWITCH_NIC_DELETE 请求之前调用 DereferenceSwitchPort。
该扩展必须遵循以下准则来处理 OID 集OID_SWITCH_PORT_DELETE请求:
该扩展不得修改与 OID 请求关联的 NDIS_SWITCH_PORT_PARAMETERS 结构。
该扩展必须始终将此 OID 集请求转发到基础扩展。 扩展不能失败请求。
使用NDIS_STATUS_SUCCESS完成OID_SWITCH_PORT_DELETE请求后,扩展将不会收到已删除端口的任何数据包或 OID 请求。 扩展无法将数据包转发到已删除的端口。 该扩展也不能发出 OID 请求,也不能为已删除的端口调用 ReferenceSwitchPort 函数。
注意 可扩展交换机扩展不得发出 OID 集OID_SWITCH_PORT_DELETE请求。
有关可扩展交换机端口和网络适配器连接的状态的详细信息,请参阅 Hyper-V 可扩展交换机端口和网络适配器状态。
返回状态代码
可扩展交换机的基础微型端口边缘完成OID_SWITCH_PORT_DELETE的 OID 集请求,并返回以下状态代码。
状态代码 | 描述 |
---|---|
NDIS_STATUS_SUCCESS |
OID 请求已成功完成。 |
要求
版本 |
NDIS 6.30 及更高版本中受支持。 |
页眉 |
Ntddndis.h (包括 Ndis.h) |