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) |