OID_NIC_SWITCH_CURRENT_CAPABILITIES
上层驱动程序发出对象标识符 (OID) 查询请求OID_NIC_SWITCH_CURRENT_CAPABILITIES,以获取网络适配器中当前启用的 NIC 交换机的硬件功能。
从 OID 查询请求成功返回后,NDIS_OID_REQUEST 结构的 InformationBuffer 成员包含指向 NDIS_NIC_SWITCH_CAPABILITIES 结构的指针。
注解
从 NDIS 6.20 开始,微型端口驱动程序在调用其 MiniportInitializeEx 函数时,在网络适配器上提供当前启用的 NIC 交换机硬件功能。 驱动程序使用 NIC 开关硬件功能初始化NDIS_NIC_SWITCH_CAPABILITIES结构,并将 NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES 结构的 CurrentNicSwitchCapabilities 成员设置为指向NDIS_NIC_SWITCH_CAPABILITIES结构的指针。 然后,微型端口驱动程序调用 NdisMSetMiniportAttributes 函数并将 MiniportAttributes 参数设置为指向 NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES 结构的指针。
注意 从 NDIS 6.30 开始,支持单根 I/O 虚拟化 (SR-IOV) 接口的微型端口驱动程序必须注册 NIC 交换机启用的硬件功能。 驱动程序通过调用 NdisMSetMiniportAttributes 来注册这些功能。
覆盖协议和筛选器驱动程序不必发出OID_NIC_SWITCH_CURRENT_CAPABILITIES的 OID 查询请求。 NDIS 通过以下方式向这些驱动程序提供网络适配器当前启用的 NIC 交换机硬件功能:
在绑定操作期间,NDIS 将基础网络适配器当前启用的 NIC 交换机硬件功能报告给NDIS_BIND_PARAMETERS结构的 NicSwitchCapabilities 成员中的过度协议驱动程序。
在附加操作期间,NDIS 将基础网络适配器当前启用的 NIC 交换机硬件功能报告为NDIS_FILTER_ATTACH_PARAMETERS结构的 NicSwitchCapabilities 成员中的过度筛选驱动程序。
返回状态代码
NDIS 处理微型端口驱动程序OID_NIC_SWITCH_CURRENT_CAPABILITIES请求的 OID 查询请求。 不会向驱动程序发出此 OID 请求。
当 NDIS 处理OID_NIC_SWITCH_CURRENT_CAPABILITIES请求时,它将返回以下状态代码之一:
状态代码 | 说明 |
---|---|
NDIS_STATUS_SUCCESS |
请求已成功完成。 InformationBuffer 指向NDIS_NIC_SWITCH_CAPABILITIES结构。 |
NDIS_STATUS_NOT_SUPPORTED |
微型端口驱动程序不支持单根 I/O 虚拟化 (SR-IOV) 接口,或者未启用该接口。 |
NDIS_STATUS_INVALID_LENGTH |
信息缓冲区的长度小于大小 (NDIS_NIC_SWITCH_CAPABILITIES) 。 微型端口驱动程序必须设置 DATA。QUERY_INFORMATION。NDIS_OID_REQUEST结构中的 BytesNeeded 成员达到所需的最小缓冲区大小。 |
NDIS_STATUS_FAILURE |
由于其他原因,请求失败。 |
要求
版本 |
在 NDIS 6.20 及更高版本中受支持。 |
标头 |
Ntddndis.h (包括 Ndis.h) |