NetRxQueueNotifyMoreReceivedPacketsAvailable function (netrxqueue.h)
The client driver calls NetRxQueueNotifyMoreReceivedPacketsAvailable to resume queue operations after NetAdapterCx calls the client's EVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLED event callback routine.
Syntax
void NetRxQueueNotifyMoreReceivedPacketsAvailable(
[_In_] NETPACKETQUEUE PacketQueue
);
Parameters
[_In_] PacketQueue
A handle to a net receive queue object.
Return value
None
Remarks
This function should only be called when polling is disabled.
After NetAdapterCx calls a client driver's EVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLED event callback routine with NotificationEnabled set to TRUE, the client enables the queue's hardware interrupt. When the device generates a hardware interrupt, the client typically calls NetRxQueueNotifyMoreReceivedPacketsAvailable from its EVT_WDF_INTERRUPT_DPC callback function, after it completes a pending NET_PACKET in the receive queue's NET_RING.
The client should only call NetRxQueueNotifyMoreReceivedPacketsAvailable once per enabling of the notification. If the most recent call to EVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLED has NotificationEnabled set to FALSE, the client should avoid invoking NetRxQueueNotifyMoreReceivedPacketsAvailable. Because NetAdapterCx invokes EVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLED repeatedly, the client may miss a few cases and call NetRxQueueNotifyMoreReceivedPacketsAvailable when NotificationEnabled is set to FALSE. In these cases, the call will be a no-op.
Requirements
Requirement | Value |
---|---|
Target Platform | Universal |
Minimum KMDF version | 1.27 |
Minimum UMDF version | 2.33 |
Header | netrxqueue.h (include netadaptercx.h) |
IRQL | <= HIGH_LEVEL |