NetRxQueueNotifyMoreReceivedPacketsAvailable 函数 (netrxqueue.h)
客户端驱动程序调用 NetRxQueueNotifyMoreReceivedPacketsAvailable,以在 NetAdapterCx 调用客户端的 EVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLED 事件回调例程后恢复队列作。
语法
void NetRxQueueNotifyMoreReceivedPacketsAvailable(
[_In_] NETPACKETQUEUE PacketQueue
);
参数
[_In_] PacketQueue
Net 接收队列对象的句柄。
返回值
没有
言论
仅当禁用轮询时,才应调用此函数。
NetAdapterCx 调用客户端驱动程序的 EVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLED 事件回调例程后,NotificationEnabled 设置为 TRUE,客户端将启用队列的硬件中断。 当设备生成硬件中断时,客户端通常会从其 EVT_WDF_INTERRUPT_DPC 回调函数中调用 NetRxQueueNotifyMoreReceivedPacketsAvailable,并在接收队列的 NET_RING中完成挂起的 NET_PACKET。
客户端应仅在启用通知后调用 NetRxQueueNotifyMoreReceivedPacketsAvailable 一次。 如果最近调用 EVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLEDNotificationEnabled 设置为 FALSE,客户端应避免调用 NetRxQueueNotifyMoreReceivedPacketsAvailable。 由于 NetAdapterCx 反复调用 EVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLED,因此客户端可能会错过几个情况,并在 NotificationEnabled 设置为 FALSE时调用 NetRxQueueNotifyMoreReceivedPacketsAvailable。 在这些情况下,调用将是 no-op。
要求
要求 | 价值 |
---|---|
目标平台 | 普遍 |
最低 KMDF 版本 | 1.27 |
最低 UMDF 版本 | 2.33 |
标头 | netrxqueue.h (包括 netadaptercx.h) |
IRQL | <= HIGH_LEVEL |