NET_ADAPTER_DMA_CAPABILITIES structure (netadapter.h)

The NET_ADAPTER_DMA_CAPABILITIES structure describes the DMA capabilities of a net adapter.

Syntax

typedef struct _NET_ADAPTER_DMA_CAPABILITIES {
  ULONG            Size;
  WDFDMAENABLER    DmaEnabler;
  PHYSICAL_ADDRESS MaximumPhysicalAddress;
  WDF_TRI_STATE    CacheEnabled;
  NODE_REQUIREMENT PreferredNode;
} NET_ADAPTER_DMA_CAPABILITIES;

Members

Size

The size of this structure, in bytes.

DmaEnabler

The DMA enabler object used by the client driver to map and allocate memory.

Important

When configuring this object with the WDF_DMA_ENABLER_CONFIG structure, client drivers must set the WdmDmaVersionOverride member to 3 to specify DMA version 3.

MaximumPhysicalAddress

The maximum physical address to use when allocating memory buffers. Set this member to 0 to indicate that there is no maximum address.

CacheEnabled

A WDF_TRI_STATE value that defines if the memory allocated should have cache enabled or not. If this member is set to WdfDefault, cache will be enabled only if the device is cache coherent.

PreferredNode

The preferred NUMA node to use when allocating memory. If this member is set to MM_ANY_NODE_OK, NetAdapterCx will automatically determine the best node to use.

Remarks

Call NET_ADAPTER_DMA_CAPABILITIES_INIT to initialize this structure.

This structure can be used either in the receive path, as a member of the NET_ADAPTER_RX_CAPABILITIES structure, or in the transmit path as a member of the NET_ADAPTER_TX_CAPABILITIES structure.

Requirements

Requirement Value
Minimum KMDF version 1.27
Header netadapter.h (include netadaptercx.h)

See also

NET_ADAPTER_DMA_CAPABILITIES_INIT

NET_ADAPTER_RX_CAPABILITIES

NET_ADAPTER_TX_CAPABILITIES