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 |