OID_NIC_SWITCH_CREATE_SWITCH

NDIS 发出对象标识符 (OID) 方法请求OID_NIC_SWITCH_CREATE_SWITCH在网络适配器上创建 NIC 交换机。 处理此 OID 请求时,微型端口驱动程序会为适配器上的 NIC 开关分配资源。

NDIS 向网络适配器的 PCI Express (PCIe) 物理功能 (PF) 的微型端口驱动程序发出此 OID 方法请求。 支持单根 I/O 虚拟化 (SR-IOV) 接口的 PF 微型端口驱动程序需要此 OID 方法请求。

注意 过度使用驱动程序(如协议或筛选器驱动程序)无法向 PF 微型端口驱动程序发出OID_NIC_SWITCH_CREATE_SWITCH的 OID 方法请求。

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

注解

收到 OID_NIC_SWITCH_CREATE_SWITCH 的 OID 方法请求时,PF 微型端口驱动程序必须执行以下操作:

  1. 如果 PF 微型端口驱动程序支持静态交换机创建和配置,则在 NDIS 调用 MiniportInitializeEx 时,它会创建 NIC 交换机。 当驱动程序处理此 OID 请求时,它必须验证 NDIS_NIC_SWITCH_PARAMETERS 结构中的配置参数。 参数必须与驱动程序在调用 MiniportInitializeEx 期间用于创建开关的参数相同。 如果不是这样,则驱动程序必须使 OID 请求失败。

    有关详细信息,请参阅 NIC 交换机的静态创建

  2. 如果 PF 微型端口驱动程序支持动态交换机创建和配置,则驱动程序必须验证 NDIS_NIC_SWITCH_PARAMETERS 结构的配置值,并根据这些值创建 NIC 开关。

    有关详细信息,请参阅 NIC 交换机的动态创建

  3. PF 微型端口驱动程序必须为 NIC 交换机上的默认 VPort 分配必要的硬件和软件资源。

    注意 默认 VPort 始终通过 OID_NIC_SWITCH_CREATE_SWITCH 的 OID 请求创建,并通过 OID_NIC_SWITCH_DELETE_SWITCH 的 OID 请求删除。 OID_NIC_SWITCH_CREATE_VPORTOID_NIC_SWITCH_DELETE_VPORT的 OID 请求用于在 NIC 交换机上创建和删除非默认 VPort。

  4. 支持动态交换机创建和配置的 PF 微型端口驱动程序必须通过调用 NdisMEnableVirtualization 在交换机上启用 SR-IOV 虚拟化。 此调用在适配器的 PCI Express (PCIe) 配置空间的 SR-IOV 扩展功能结构中配置 NumVF 成员和 VF Enable 位。

    有关 SR-IOV 配置空间的详细信息,请参阅 PCI-SIG 单根 I/O 虚拟化和共享 1.1 规范。

    注意 如果 PF 微型端口驱动程序支持静态交换机创建,则在调用 MiniportInitializeEx 时,它会在创建开关后启用 SR-IOV 虚拟化。

如果 PF 微型端口驱动程序成功完成 OID_NIC_SWITCH_CREATE_SWITCH 的 OID 方法请求,则允许发生以下情况:

有关如何处理此 OID 请求的详细信息,请参阅 处理OID_NIC_SWITCH_CREATE_SWITCH请求

返回状态代码

PF 微型端口驱动程序为 OID_NIC_SWITCH_CREATE_SWITCH 的 OID 方法请求返回以下状态代码之一。

状态代码 说明

NDIS_STATUS_SUCCESS

OID 请求已成功完成。

NDIS_STATUS_NOT_SUPPORTED

PF 微型端口驱动程序不支持 SR-IOV 接口,或者未启用该接口。

NDIS_STATUS_INVALID_PARAMETER

NDIS_NIC_SWITCH_PARAMETERS 结构的一个或多个成员具有无效值。

NDIS_STATUS_INVALID_LENGTH

信息缓冲区的长度小于大小 (NDIS_NIC_SWITCH_PARAMETERS) 。 PF 微型端口驱动程序必须设置 DATA。METHOD_INFORMATION。NDIS_OID_REQUEST结构中的 BytesNeeded 成员达到所需的最小缓冲区大小。

NDIS_STATUS_FAILURE

请求因其他原因而失败。

要求

版本

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

标头

Ntddndis.h (包括 Ndis.h)

另请参阅


MiniportInitializeEx

NDIS_OID_REQUEST

NDIS_NIC_SWITCH_PARAMETERS

NdisMEnableVirtualization

OID_NIC_SWITCH_ALLOCATE_VF

OID_NIC_SWITCH_CREATE_VPORT