NET_ADAPTER_RX_CAPABILITIES_INIT_DRIVER_MANAGED function (netadapter.h)

The NET_ADAPTER_RX_CAPABILITIES_INIT_DRIVER_MANAGED function initializes a NET_ADAPTER_RX_CAPABILITIES structure for a net adapter that would like to specify driver-managed receive buffer allocation and attachment.

Syntax

void NET_ADAPTER_RX_CAPABILITIES_INIT_DRIVER_MANAGED(
  [_Out_] NET_ADAPTER_RX_CAPABILITIES      *RxCapabilities,
  [_In_]  PFN_NET_ADAPTER_RETURN_RX_BUFFER EvtAdapterReturnRxBuffer,
  [_In_]  SIZE_T                           MaximumFrameSize,
  [_In_]  SIZE_T                           MaximumNumberOfQueues
);

Parameters

[_Out_] RxCapabilities

A pointer to a driver-allocated NET_ADAPTER_RX_CAPABILITIES structure.

[_In_] EvtAdapterReturnRxBuffer

A pointer to the client driver's EVT_NET_ADAPTER_RETURN_RX_BUFFER callback function. For more information, see the Remarks section.

[_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_DRIVER_MANAGED to initialize its NET_ADAPTER_RX_CAPABILITIES structure if it would like to perform manual receive buffer allocation and attachment. By calling this function, the Rx capabilities structure's AllocationMode member is set to NetRxFragmentBufferAllocationModeDriver and the AttachmentMode member is set to NetRxFragmentBufferAttachmentModeDriver. In this case, it must also provide a pointer to its EVT_NET_ADAPTER_RETURN_RX_BUFFER callback function in the structure for the operating system to invoke once the system has finished with the receive buffer.

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_SYSTEM_MANAGED

NET_ADAPTER_RX_CAPABILITIES_INIT_SYSTEM_MANAGED_DMA