NET_ADAPTER_RX_CAPABILITIES_INIT_SYSTEM_MANAGED_DMA function

Warning

Some information in this topic relates to prereleased product, which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.

NetAdapterCx is preview only in Windows 10, version 1903.

The NET_ADAPTER_RX_CAPABILITIES_INIT_SYSTEM_MANAGED_DMA method initializes a NET_ADAPTER_RX_CAPABILITIES structure for a net adapter that would like to specify operating system-managed receive buffer allocation and attachment, as well as DMA for memory mapping.

Syntax

void NET_ADAPTER_RX_CAPABILITIES_INIT_SYSTEM_MANAGED_DMA(
  NET_ADAPTER_RX_CAPABILITIES  *RxCapabilities,
  NET_ADAPTER_DMA_CAPABILITIES *DmaCapabilities,
  SIZE_T                       MaximumFrameSize,
  SIZE_T                       MaximumNumberOfQueues
);

Parameters

RxCapabilities

A pointer to a driver-allocated NET_ADAPTER_RX_CAPABILITIES structure.

DmaCapabilities

A pointer to a driver-allocated and initialized NET_ADAPTER_DMA_CAPABILITIES structure.

MaximumFrameSize

MaximumNumberOfQueues

The maximum number of receive queues that the adapter supports.

Return Value

This method does not return a value.

Remarks

This method is one of three possible methods to call in order to initialize a NET_ADAPTER_RX_CAPABILITIES structure. Which one the client driver should call depends on how it would like to allocate receive buffers and if it would like to use DMA.

The client driver must call NET_ADAPTER_RX_CAPABILITIES_INIT_SYSTEM_MANAGED_DMA to initialize its NET_ADAPTER_RX_CAPABILITIES structure if it would like the operating system to perform receive buffer allocation and attachment, and if it would also like to use DMA in its receive data path. By calling this method, the Rx capabilities structure's AllocationMode member is set to NetRxFragmentBufferAllocationModeSystem and the AttachmentMode member is set to NetRxFragmentBufferAttachmentModeSystem.

Before calling NET_ADAPTER_RX_CAPABILITIES_INIT_SYSTEM_MANAGED_DMA, the driver must have allocated a NET_ADAPTER_DMA_CAPABILITIES structure and initialized it with NET_ADAPTER_DMA_CAPABILITIES_INIT. This DMA capabilities structure is then assigned to the DmaCapabilities member of the NET_ADAPTER_RX_CAPABILITIES structure.

Requirements

   
Target Platform Universal
Minimum KMDF version 1.25
Header netadapter.h (include netadaptercx.h)
IRQL PASSIVE_LEVEL

See Also

NET_ADAPTER_RX_CAPABILITIES

NET_ADAPTER_RX_CAPABILITIES_INIT_DRIVER_MANAGED

NET_ADAPTER_RX_CAPABILITIES_INIT_SYSTEM_MANAGED