// ntddndis.h
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;
View the official Windows Driver Kit DDI referenceNo description available.
The NDIS_NDK_CAPABILITIES structure specifies the capabilities of an NDK adapter.
HeaderThe NDIS_OBJECT_HEADER structure that describes this NDIS_NDK_CAPABILITIES structure. Set the members of the NDIS_OBJECT_HEADER structure as follows:
FlagsMaxQpCountThe maximum number of queue pairs (QPs) that can be supported by the adapter.
MaxCqCountThe maximum number of completion queues (CQs) that can be supported by the adapter.
MaxMrCountThe maximum number of memory regions (MRs) that can be supported by the adapter.
MaxPdCountThe maximum number of protection domains (PDs) that can be supported by the adapter
MaxInboundReadLimitThe 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.
MaxOutboundReadLimitThe 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.
MaxMwCountThe maximum number of memory windows (MWs) that are supported by the adapter.
MaxSrqCountThe maximum number of shared receive queues (SRQs) that are supported by the adapter.
MissingCounterMaskA 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.
NdkInfoA pointer to an NDK_ADAPTER_INFO structure that specifies NDK adapter capabilities and limits that are relevant for a specific NDK consumer. These capabilities can be different from system-wide limits.
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.
NDIS_MINIPORT_ADAPTER_NDK_ATTRIBUTES