NET_ADAPTER_RX_CAPABILITIES_INIT_SYSTEM_MANAGED_DMA function (netadapter.h)

The NET_ADAPTER_RX_CAPABILITIES_INIT_SYSTEM_MANAGED_DMA function 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(
  [_Out_] NET_ADAPTER_RX_CAPABILITIES  *RxCapabilities,
  [_In_]  NET_ADAPTER_DMA_CAPABILITIES *DmaCapabilities,
  [_In_]  SIZE_T                       MaximumFrameSize,
  [_In_]  SIZE_T                       MaximumNumberOfQueues
);

Parameters

[_Out_] RxCapabilities

A pointer to a driver-allocated NET_ADAPTER_RX_CAPABILITIES structure.

[_In_] DmaCapabilities

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

[_In_] MaximumFrameSize

The maximum frame size, in bytes, that the adapter can receive.

[_In_] MaximumNumberOfQueues

The maximum number of receive queues that the adapter supports.

Return value

None

Remarks

This function is one of three possible functions 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 function, 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

Requirement Value
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