NDIS_NDK_LOCAL_ENDPOINTS结构(ntddndis.h)

NDIS_NDK_LOCAL_ENDPOINTS 结构描述微型端口适配器上的 NDK 本地终结点。

语法

typedef struct _NDIS_NDK_LOCAL_ENDPOINTS {
  NDIS_OBJECT_HEADER            Header;
  ULONG                         Flags;
  ULONG                         Count;
  BOOLEAN                       NDLocalEndpointsMappedtoTCPLocalEndpoints;
  NDIS_NDK_LOCAL_ENDPOINT_ENTRY LocalEndpoints[1];
} NDIS_NDK_LOCAL_ENDPOINTS;

成员

Header

描述此 NDIS_NDK_LOCAL_ENDPOINTS 结构的 NDIS_OBJECT_HEADER 结构。 按如下所示设置 NDIS_OBJECT_HEADER 结构的成员:

  • 类型 成员设置为 NDIS_OBJECT_TYPE_DEFAULT
  • Revision 成员设置为 NDIS_NDK_LOCAL_ENDPOINTS_REVISION_1
  • 大小 成员设置为 (USHORT)min(MAXUSHORT, NDIS_SIZEOF_NDK_ENDPOINTS_REVISION_1(n))。

Flags

Count

传入 LocalEndpoints 成员的终结点数组中的元素数。 数组中的每个元素都是一个 NDIS_NDK_LOCAL_ENDPOINT_ENTRY 结构。

NDLocalEndpointsMappedtoTCPLocalEndpoints

一个 BOOLEAN 值,该值指定终结点的映射方式。 如果 NDK 提供程序的 RDMA 技术要求提供程序将 ND 本地终结点映射到 TCP 本地终结点,NDK 提供程序必须将 NDLocalEndpointsMappedtoTCPLocalEndpoints 成员设置为 TRUE。 否则,NDLocalEndpointsMappedtoTCPLocalEndpoints 为 FALSE。

LocalEndpoints[1]

NDIS_NDK_LOCAL_ENDPOINT_ENTRY 结构的可变大小数组,其中数组的大小由要返回的本地终结点数决定。 Count 成员指定本地终结点数组中的元素数。

言论

使用 OID_NDK_LOCAL_ENDPOINTS OID 返回 NDIS_NDK_LOCAL_ENDPOINTS 结构。 NDIS_OID_REQUEST 结构的 InformationBuffer 成员包含指向此结构的指针。

此结构大小可变,包含与返回的本地终结点数相等的元素。 作为元素计数的本地终结点数组的实际大小由 Count 成员指示。

如果 NDK 提供程序的 RDMA 技术要求提供程序将 ND 本地终结点映射到 TCP 本地终结点,则 NDK 提供程序还必须报告每个 ND 本地终结点的基础 TCP 本地终结点,如下所示:

  • NDLocalEndpointsMappedtoTCPLocalEndpoints 成员设置为 TRUE。
  • 为每个 ND 本地终结点使用两个连续条目。 第一个条目包含 ND 寻址信息(本地 IP 地址和 ND 端口号),下一个条目包含相应的 TCP 本地终结点寻址信息(本地 IP 地址和 TCP 端口号)。
  • 寻址信息以外的成员(例如,UserModeOwner侦听器OwnerPid)必须仅在第一个条目中设置,并在下一个条目中保持不变。 因此,索引 0、2、4 等的条目包含 ND 寻址信息(加上正确填充的其他成员)和索引 1、3、5 等的条目,包含 TCP 寻址信息(其中其他成员保持不变)。

要求

要求 价值
最低支持的客户端 NDIS 6.30 及更高版本不支持。
支持的最低服务器 Windows Server 2012
标头 ntddndis.h (include Ndis.h)

另请参阅

NDIS_NDK_LOCAL_ENDPOINT_ENTRY

NDIS_OBJECT_HEADER

NDIS_OID_REQUEST

OID_NDK_LOCAL_ENDPOINTS