枚举网络适配器上的 NIC 交换机
过度使用的驱动程序或用户应用程序可以获取已在支持单根 I/O 虚拟化 (SR-IOV) 的网络适配器上创建的所有 NIC 交换机的列表。 驱动程序或应用程序发出对象标识符 (OID) 查询请求OID_NIC_SWITCH_ENUM_SWITCHES 以获取此列表。
成功从此 OID 请求返回后,NDIS_OID_REQUEST 结构的 InformationBuffer 成员将包含指向包含以下内容的缓冲区的指针:
定义数组中的元素数的 NDIS_NIC_SWITCH_INFO_ARRAY 结构。
NDIS_NIC_SWITCH_INFO结构的数组。 其中每个结构都包含有关在网络适配器上创建的单个 NIC 交换机的信息。
注意如果网络适配器没有 NIC 开关,驱动程序会将 NDIS_NIC_SWITCH_INFO_ARRAY 结构的 NumElements 成员设置为零,并且不会返回NDIS_NIC_SWITCH_INFO结构。
注意从Windows Server 2012开始,SR-IOV 接口仅支持网络适配器上的一个 NIC 交换机。 此开关称为 默认 NIC 开关,由NDIS_DEFAULT_SWITCH_ID标识符引用。
NDIS 处理微型端口驱动程序 的OID_NIC_SWITCH_ENUM_SWITCHES 请求。 NDIS 从它从以下源维护的数据的内部缓存中返回信息:
标准化的 SR-IOV 关键字 (keyword) 注册表中的设置。 有关这些关键字的详细信息,请参阅 SR-IOV 的标准化 INF 关键字。
OID_NIC_SWITCH_CREATE_SWITCH和OID_NIC_SWITCH_PARAMETERS的 OID 请求。
注意NDIS 还提供 NDIS_BIND_PARAMETERS 和 NDIS_FILTER_ATTACH_PARAMETERS 结构中 NicSwitchArray 成员中的开关的枚举。 因此,过度部署的协议和筛选器驱动程序不必发出 OID_NIC_SWITCH_ENUM_SWITCHES 请求来获取此信息。