NDIS_MAKE_RID宏 (ndis.h)

NDIS_MAKE_RID宏从 PCI Express (PCIe) 段、总线、设备和函数编号生成NDIS_VF_RID值。 微型端口驱动程序将此值用作网络适配器的 PCIe Virtual Function (VF) 的 PCIe 请求者 ID (RID) 。

语法

void NDIS_MAKE_RID(
   _Segment,
   _Bus,
   _Function
);

参数

_Segment

设备所连接的 PCIe 总线组的 PCIe 段号。 PCIe 段是共享配置空间的一组 PCIe 总线。

_Bus

连接网络适配器的总线的 PCIe 总线编号。

_Function

网络适配器上逻辑设备的函数编号。

返回值

NDIS_MAKE_RID返回从参数构造的NDIS_VF_RID值。

注解

处理 OID_NIC_SWITCH_ALLOCATE_VF 的 OID 请求时,PCIe 物理函数 (PF) 的微型端口驱动程序使用 NDIS_MAKE_RID 宏为 VF 创建 PCIe 请求者 ID (RID) 值。 驱动程序通过调用 NdisMGetVirtualFunctionLocation 检索 VF 的 PCIe 段、总线、设备和函数号。

注意

如果独立硬件供应商 (IHV) 提供虚拟总线驱动程序 (VBD) 作为其 SR-IOV 驱动程序包的一部分,则其 PF 微型端口驱动程序不得调用 NdisMGetVirtualFunctionLocation。 相反,驱动程序必须通过专用信道与 VBD 进行交互,并请求 VBD 调用 GetLocation。 此函数从基础 PCI 总线驱动程序支持的 GUID_PCI_VIRTUALIZATION_INTERFACE 接口公开。

要求

要求
最低受支持的客户端 在 NDIS 6.30 及更高版本中受支持。
目标平台 桌面
标头 ndis.h

另请参阅

NdisMGetVirtualFunctionLocation

OID_NIC_SWITCH_ALLOCATE_VF