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
Header netadapter.h (include netadaptercx.h)
IRQL PASSIVE_LEVEL