NDIS_NDK_LOCAL_ENDPOINTS structure

The NDIS_NDK_LOCAL_ENDPOINTS structure describes the NDK local endpoints that are on a miniport adapter.

Syntax


typedef struct _NDIS_NDK_LOCAL_ENDPOINTS {
  NDIS_OBJECT_HEADER                                 Header;
  ULONG                                              Count;
  BOOLEAN                                            NDLocalEndpointsMappedtoTCPLocalEndpoints;
   _Field_size_(Count) NDIS_NDK_LOCAL_ENDPOINT_ENTRY LocalEndpoints[1];
} NDIS_NDK_LOCAL_ENDPOINTS, *PNDIS_NDK_LOCAL_ENDPOINTS;

Members

Header

An NDIS_OBJECT_HEADER structure that describes this NDIS_NDK_LOCAL_ENDPOINTS structure. Set the members of the NDIS_OBJECT_HEADER structure as follows:

  • Set the Type member to NDIS_OBJECT_TYPE_DEFAULT.
  • Set the Revision member to NDIS_NDK_LOCAL_ENDPOINTS_REVISION_1.
  • Set the Size member to (USHORT)min(MAXUSHORT, NDIS_SIZEOF_NDK_ENDPOINTS_REVISION_1(n)).
Count

The number of elements in the endpoints array that is passed in the LocalEndpoints member. Each element in the array is an NDIS_NDK_LOCAL_ENDPOINT_ENTRY structure.

NDLocalEndpointsMappedtoTCPLocalEndpoints

A BOOLEAN value that specifies how the endpoints are mapped. If the RDMA technology for the NDK provider requires the provider to map ND local endpoints to TCP local endpoints, the NDK provider must set the NDLocalEndpointsMappedtoTCPLocalEndpoints member to TRUE. Otherwise, NDLocalEndpointsMappedtoTCPLocalEndpoints is FALSE.

LocalEndpoints

A variable-sized array of NDIS_NDK_LOCAL_ENDPOINT_ENTRY structures where the size of the array is determined by the number of local endpoints being returned. The Count member specifies the number of elements in the local endpoint array.

Remarks

The NDIS_NDK_LOCAL_ENDPOINTS structure is returned with the OID_NDK_LOCAL_ENDPOINTS OID. The InformationBuffer member of the NDIS_OID_REQUEST structure contains a pointer to this structure.

This structure is variable-sized and contains elements equal in number to the number of local endpoints that are returned. The actual size of the local endpoint array as an element count is indicated by the Count member.

If the RDMA technology for the NDK provider requires the provider to map ND local endpoints to TCP local endpoints, the NDK provider must also report the underlying TCP local endpoint for each ND local endpoint as follows:

  • Set the NDLocalEndpointsMappedtoTCPLocalEndpoints member to TRUE.
  • Use two consecutive entries for each ND local endpoint.

    The first entry contains the ND addressing information (local IP address, and ND port number) and the immediate next entry contains the corresponding TCP local endpoint's addressing information (local IP address, and TCP port number).

  • Members other than addressing information (For example, UserModeOwner, Listener and OwnerPid) must be set only in the first entry and left untouched in the next entry.

    Therefore, entries at index 0, 2, 4, and so on, contain ND addressing information (plus properly filled-in other members) and entries at index 1, 3, 5 and so on, contain TCP addressing info (where other members are left untouched).

Requirements

Minimum supported client

None supported

Minimum supported server

Windows Server 2012

Version

Supported in NDIS 6.30 and later.

Header

Ntddndis.h (include Ndis.h)

See also

NDIS_NDK_LOCAL_ENDPOINT_ENTRY
NDIS_OBJECT_HEADER
NDIS_OID_REQUEST
OID_NDK_LOCAL_ENDPOINTS

 

 

Send comments about this topic to Microsoft

Show:
© 2015 Microsoft