EVT_PACKET_QUEUE_ADVANCE callback function (netpacketqueue.h)

The EvtPacketQueueAdvance callback function is implemented by the client driver to process transmit or receive packets provided by NetAdapterCx.

Syntax

EVT_PACKET_QUEUE_ADVANCE EvtPacketQueueAdvance;

void EvtPacketQueueAdvance(
  [_In_] NETPACKETQUEUE PacketQueue
)
{...}

Parameters

[_In_] PacketQueue

A handle to a packet queue.

Return value

None

Remarks

Register this callback function in your EVT_NET_ADAPTER_CREATE_TX(RX)QUEUE callback. Set the appropriate member of a NET_PACKET_QUEUE_CONFIG structure when you are initializing the structure with NET_PACKET_QUEUE_CONFIG_INIT, then call NetTx(Rx)QueueCreate.

NetAdapterCx serializes this callback function along with the packet queue's EVT_PACKET_QUEUE_CANCEL and EVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLED callback functions.

For more info and a diagram showing the NetAdapterCx data path polling model, see Transmit and receive queues. For more info about ring buffer usage, see Using the ring buffer.

For an example of implementing this callback for a transmit queue, see Sending network data with net rings. For an example of implementing this callback for a receive queue, see Receiving network data with net rings.

Requirements

Requirement Value
Target Platform Universal
Minimum KMDF version 1.27
Header netpacketqueue.h (include netadaptercx.h)
IRQL <= DISPATCH_LEVEL

See also

EVT_NET_ADAPTER_CREATE_RXQUEUE

EVT_NET_ADAPTER_CREATE_TXQUEUE

NetRxQueueCreate

NetTxQueueCreate

EVT_PACKET_QUEUE_START

EVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLED

EVT_PACKET_QUEUE_CANCEL

EVT_PACKET_QUEUE_STOP