NetTxQueueNotifyMoreCompletedPacketsAvailable function (nettxqueue.h)
The client driver calls NetTxQueueNotifyMoreCompletedPacketsAvailable to resume queue operations after NetAdapterCx calls the client's EVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLED event callback routine.
Syntax
void NetTxQueueNotifyMoreCompletedPacketsAvailable(
[_In_] NETPACKETQUEUE PacketQueue
);
Parameters
[_In_] PacketQueue
A handle to a net transmit queue.
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 NetTxQueueNotifyMoreCompletedPacketsAvailable from its *EVT_WDF_INTERRUPT_DPC callback function, after it completes a pending NET_PACKET in the transmit queue's NET_RING.
The client should only call NetTxQueueNotifyMoreCompletedPacketsAvailable 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 NetTxQueueNotifyMoreCompletedPacketsAvailable. Because NetAdapterCx invokes EVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLED repeatedly, the client may miss a few cases and call NetTxQueueNotifyMoreCompletedPacketsAvailable 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 | nettxqueue.h (include netadaptercx.h) |
IRQL | <= HIGH_LEVEL |