NDIS_NDK_CAPABILITIES structure (ntddndis.h)

The NDIS_NDK_CAPABILITIES structure specifies the capabilities of an NDK adapter.

Syntax

typedef struct _NDIS_NDK_CAPABILITIES {
  NDIS_OBJECT_HEADER Header;
  ULONG              Flags;
  ULONG              MaxQpCount;
  ULONG              MaxCqCount;
  ULONG              MaxMrCount;
  ULONG              MaxPdCount;
  ULONG              MaxInboundReadLimit;
  ULONG              MaxOutboundReadLimit;
  ULONG              MaxMwCount;
  ULONG              MaxSrqCount;
  ULONG64            MissingCounterMask;
  NDK_ADAPTER_INFO   *NdkInfo;
} NDIS_NDK_CAPABILITIES, *PNDIS_NDK_CAPABILITIES;

Members

Header

The NDIS_OBJECT_HEADER structure that describes this NDIS_NDK_CAPABILITIES 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_CAPABILITIES_REVISION_1.
  • Set the Size member to NDIS_SIZEOF_NDK_CAPABILITIES_REVISION_1.

Flags

MaxQpCount

The maximum number of queue pairs (QPs) that can be supported by the adapter.

MaxCqCount

The maximum number of completion queues (CQs) that can be supported by the adapter.

MaxMrCount

The maximum number of memory regions (MRs) that can be supported by the adapter.

MaxPdCount

The maximum number of protection domains (PDs) that can be supported by the adapter

MaxInboundReadLimit

The maximum number of incoming outstanding read requests that can be supported by the adapter. If this member is zero, there is no adapter limit. In this case, there is still a limit for each queue pair. The limit for each queue pair is specified in the MaxInboundReadLimit member of the NDK_ADAPTER_INFO structure.

MaxOutboundReadLimit

The maximum number of outgoing outstanding read requests that can be supported by the adapter. If this member is zero, there is no adapter-wide limit. In this case, there is still a limit for each queue pair. The limit for each queue pair is specified in the MaxOutboundReadLimit member of the NDK_ADAPTER_INFO structure.

MaxMwCount

The maximum number of memory windows (MWs) that are supported by the adapter.

MaxSrqCount

The maximum number of shared receive queues (SRQs) that are supported by the adapter.

MissingCounterMask

A bitmask that identifies counters that an NDK provider does not support. NDK providers are required to support all the performance counters that are included in the NDIS_NDK_PERFORMANCE_COUNTERS structure. However, in the rare case that a provider cannot support a counter due to extreme implementation difficulties, the provider must indicate any unsupported counters with the mask value for the counter which it cannot support.

NdkInfo

A pointer to an NDK_ADAPTER_INFO structure that specifies NDK adapter capabilities and limits that are relevant for an specific NDK consumer. These capabilities can be different from system-wide limits.

Remarks

NDIS_NDK_CAPABILITIES specifies capacity limits that are relevant for system-wide management or partitioning of resources that are available on a given NDK adapter.

Independent of whether NDK functionality of an adapter is currently enabled or disabled, an NDK-capable adapter must always indicate its capabilities during miniport initialization.

The NDIS_NDK_CAPABILITIES structure is used in the NDIS_MINIPORT_ADAPTER_NDK_ATTRIBUTES structure.

Requirements

Requirement Value
Minimum supported client None supported,Supported in NDIS 6.30 and later.
Minimum supported server Windows ServerĀ 2012
Header ntddndis.h (include Ndis.h)

See also

NDIS_MINIPORT_ADAPTER_NDK_ATTRIBUTES

NDIS_NDK_PERFORMANCE_COUNTERS

NDIS_OBJECT_HEADER

NDK_ADAPTER_INFO