NDIS_MAKE_RID宏 (ndis.h)

NDIS_MAKE_RID 宏从 PCI Express(PCIe)段、总线、设备和函数编号生成NDIS_VF_RID值。 微型端口驱动程序将此值用作网络适配器的 PCIe 虚拟函数(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)在其 SR-IOV 驱动程序包中提供虚拟总线驱动程序(VBD),则其 PF 微型端口驱动程序不得调用 NdisMGetVirtualFunctionLocation。 相反,驱动程序必须通过专用信道与 VBD 接口,并请求 VBD 调用 GetLocation。 此函数从基础 PCI 总线驱动程序支持的 GUID_PCI_VIRTUALIZATION_INTERFACE 接口公开。

要求

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

另请参阅

NdisMGetVirtualFunctionLocation

OID_NIC_SWITCH_ALLOCATE_VF