NetTxQueueNotifyMoreCompletedPacketsAvailable 函数 (nettxqueue.h)

在 NetAdapterCx 调用客户端的 EVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLED 事件回调例程后,客户端驱动程序调用 NetTxQueueNotifyMoreCompletedPacketsAvailable 以恢复队列操作。

语法

void NetTxQueueNotifyMoreCompletedPacketsAvailable(
  [_In_] NETPACKETQUEUE PacketQueue
);

参数

[_In_] PacketQueue

网络传输队列的句柄。

返回值

备注

仅当禁用轮询时,才应调用此函数。

在 NetAdapterCx 调用客户端驱动程序的 EVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLED 事件回调例程并将 NotificationEnabled 设置为 TRUE 后,客户端将启用队列的硬件中断。 当设备生成硬件中断时,客户端通常在完成传输队列NET_RING中的挂起NET_PACKET后,从其 *EVT_WDF_INTERRUPT_DPC 回调函数调用 NetTxQueueNotifyMoreCompletedPacketsAvailable

每次启用通知,客户端只应调用 NetTxQueueNotifyMoreCompletedPacketsAvailable 一次。 如果对 EVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLED 的最新调用将 NotificationEnabled 设置为 FALSE,则客户端应避免调用 NetTxQueueNotifyMoreCompletedPacketsAvailable。 由于 NetAdapterCx 重复调用EVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLED,因此当 NotificationEnabled 设置为 FALSE 时,客户端可能会错过少数情况并调用 NetTxQueueNotifyMoreCompletedPacketsAvailable。 在这些情况下,调用将是 no-op。

要求

要求
目标平台 通用
最低 KMDF 版本 1.27
最低 UMDF 版本 2.33
标头 nettxqueue.h (包括 netadaptercx.h)
IRQL <= HIGH_LEVEL

另请参阅

EVT_PACKET_QUEUE_ADVANCE

EVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLED