EVT_NET_ADAPTER_CREATE_RXQUEUE callback function (netadapter.h)

The client driver's implementation of the EvtNetAdapterCreateRxQueue event callback function that sets up a receive (Rx) queue.

Syntax

EVT_NET_ADAPTER_CREATE_RXQUEUE EvtNetAdapterCreateRxqueue;

NTSTATUS EvtNetAdapterCreateRxqueue(
  [_In_]    NETADAPTER Adapter,
  [_Inout_] NETRXQUEUE_INIT *RxQueueInit
)
{...}

Parameters

[_In_] Adapter

The network adapter object that the client created in a prior call to NetAdapterCreate.

[_Inout_] RxQueueInit

A pointer to a NetAdapterCx-allocated NETRXQUEUE_INIT structure. For more information, see the Remarks section.

Return value

If the operation is successful, the callback function must return STATUS_SUCCESS, or another status value for which NT_SUCCESS(status) equals TRUE. Otherwise, an appropriate NTSTATUS error code.

Remarks

To register an EVT_NET_ADAPTER_CREATE_RXQUEUE callback function, the client driver must call NetAdapterCreate.

The NETRXQUEUE_INIT structure is an opaque structure that is defined and allocated by NetAdapterCx, similar to WDFDEVICE_INIT.

In this callback, the client driver might call NetRxQueueInitGetQueueId to retrieve the identifier of the receive queue to set up. Next, the client calls NetRxQueueCreate to allocate a queue. If NetRxQueueCreate fails, the EvtNetAdapterCreateRxQueue callback function should return an error code.

NetAdapterCx calls EvtNetAdapterCreateRxQueue at the very end of the power-up sequence.

For a code example of implementing this callback function, see Transmit and receive queues.

Requirements

Requirement Value
Target Platform Universal
Minimum KMDF version 1.29
Minimum UMDF version 2.33
Header netadapter.h (include netadaptercx.h)
IRQL PASSIVE_LEVEL