NetRxQueueNotifyMoreReceivedPacketsAvailable 函数 (netrxqueue.h)
在 NetAdapterCx 调用客户端的 EVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLED 事件回调例程后,客户端驱动程序调用 NetRxQueueNotifyMoreReceivedPacketsAvailable 以恢复队列操作。
语法
void NetRxQueueNotifyMoreReceivedPacketsAvailable(
[_In_] NETPACKETQUEUE PacketQueue
);
参数
[_In_] PacketQueue
净接收队列对象的句柄。
返回值
无
备注
仅当禁用轮询时,才应调用此函数。
在 NetAdapterCx 调用客户端驱动程序的 EVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLED 事件回调例程并将 NotificationEnabled 设置为 TRUE 后,客户端将启用队列的硬件中断。 当设备生成硬件中断时,客户端通常在完成接收队列NET_RING中的挂起NET_PACKET后,从其EVT_WDF_INTERRUPT_DPC回调函数调用 NetRxQueueNotifyMoreReceivedPacketsAvailable。
每次启用通知,客户端只应调用 NetRxQueueNotifyMoreReceivedPacketsAvailable 一次。 如果最近对 EVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLED 的调用将 NotificationEnabled 设置为 FALSE,则客户端应避免调用 NetRxQueueNotifyMoreReceivedPacketsAvailable。 由于 NetAdapterCx 重复调用EVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLED,因此当 NotificationEnabled 设置为 FALSE 时,客户端可能会错过少数情况并调用 NetRxQueueNotifyMoreReceivedPacketsAvailable。 在这些情况下,调用将是 no-op。
要求
要求 | 值 |
---|---|
目标平台 | 通用 |
最低 KMDF 版本 | 1.27 |
标头 | netrxqueue.h (包括 netadaptercx.h) |
IRQL | <= HIGH_LEVEL |
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈