Hyper-V 可扩展交换机的协议边缘发出OID_SWITCH_PORT_CREATE的对象标识符(OID)集请求,以通知可扩展交换机扩展创建可扩展交换机端口。
NDIS_OID_REQUEST 结构的 InformationBuffer 成员包含指向 NDIS_SWITCH_PORT_PARAMETERS 结构的指针。
言论
NDIS_SWITCH_PORT_PARAMETERS 结构的 PortId 成员指定为其创建通知的端口。
可扩展交换机扩展必须遵循以下准则来处理OID_SWITCH_PORT_CREATE的 OID 集请求:
该扩展不得修改与 OID 请求关联的 NDIS_SWITCH_PORT_PARAMETERS 结构。
该扩展可以通过返回 OID 请求的NDIS_STATUS_DATA_NOT_ACCEPTED来否决创建通知。 例如,如果扩展无法分配资源以在端口上强制实施其配置的策略,驱动程序应否决创建通知。
如果扩展返回其他NDIS_STATUS_Xxx 错误代码,则创建通知也会被否决。 但是,返回临时方案的状态代码(如返回NDIS_STATUS_RESOURCES)可能会导致创建通知重试。
如果扩展未否决 OID 请求,则应监视请求完成时的状态。 扩展应执行此作,以确定 OID 请求是由可扩展交换机控件路径中的基础扩展还是可扩展交换机接口否决的。
有关端口策略的详细信息,请参阅 管理 Hyper-V 可扩展交换机策略。
如果扩展调用 NdisFOidRequest 转发此 OID 集请求,扩展应监视此 OID 请求的完成状态。 该扩展用于检测可扩展交换机驱动程序堆栈中的基础扩展是否已否决端口创建通知。
转发 OID 请求并成功完成后,扩展可以针对端口(如 OID_SWITCH_PORT_PROPERTY_ENUM)发出 OID 请求,直到发出 OID 请求 OID_SWITCH_PORT_TEARDOWN。 此 OID 请求通知扩展,该端口将从可扩展交换机开始删除过程。
在发出 OID_SWITCH_NIC_CONNECT 的 OID 集请求并成功完成之前,扩展无法将数据包转发到 NDIS_SWITCH_PORT_PARAMETERS 结构中的指定端口。
注意, 扩展不得发出OID_SWITCH_PORT_CREATE的 OID 集请求。
有关可扩展交换机端口和网络适配器连接的状态的详细信息,请参阅 Hyper-V 可扩展交换机端口和网络适配器状态。
返回状态代码
如果扩展完成OID_SWITCH_PORT_CREATE的 OID 集请求,它将返回以下状态代码之一。
状态代码 | 描述 |
---|---|
NDIS_STATUS_DATA_NOT_ACCEPTED |
扩展否决了创建通知。 |
NDIS_STATUS_RESOURCES |
扩展因资源条件低而否决了创建通知。 |
NDIS_STATUS_Xxx |
该扩展出于其他原因否决了创建通知。 |
注意 如果扩展完成 OID 集请求,则它不得返回NDIS_STATUS_SUCCESS。
如果扩展未完成 OID_SWITCH_PORT_CREATE 的 OID 集请求,则请求由可扩展交换机的基础微型端口边缘完成。 基础微型端口边缘返回此 OID 集请求的以下状态代码。
状态代码 | 描述 |
---|---|
NDIS_STATUS_SUCCESS |
OID 请求已成功完成。 |
要求
版本 |
NDIS 6.30 及更高版本中受支持。 |
页眉 |
Ntddndis.h (包括 Ndis.h) |