Функция NetRxQueueNotifyMoreReceivedPacketsAvailable (netrxqueue.h)

Драйвер клиента вызывает NetRxQueueNotifyMoreReceivedPacketsAvailable для возобновления операций с очередью после того, как NetAdapterCx вызывает подпрограмму обратного вызова события EVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLED клиента.

Синтаксис

void NetRxQueueNotifyMoreReceivedPacketsAvailable(
  [_In_] NETPACKETQUEUE PacketQueue
);

Параметры

[_In_] PacketQueue

Дескриптор для объекта очереди чистого получения.

Возвращаемое значение

None

Remarks

Эта функция должна вызываться только при отключении опроса.

После того как NetAdapterCx вызывает подпрограмму обратного вызова события EVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLED драйвера клиента с параметром NotificationEnabled, для параметра NotificationEnabled установлено значение TRUE, клиент включает аппаратное прерывание очереди. Когда устройство создает аппаратное прерывание, клиент обычно вызывает NetRxQueueNotifyMoreReceivedPacketsAvailable из функции обратного вызова EVT_WDF_INTERRUPT_DPC после завершения ожидающего NET_PACKET в NET_RING очереди получения.

Клиент должен вызывать NetRxQueueNotifyMoreReceivedPacketsAvailable только один раз при каждом включении уведомления. Если для последнего вызова EVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLED для параметра NotificationEnabled задано значение FALSE, клиент должен избегать вызова NetRxQueueNotifyMoreReceivedPacketsAvailable. Так как NetAdapterCx вызывает EVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLED несколько раз, клиент может пропустить несколько случаев и вызвать NetRxQueueNotifyMoreReceivedPacketsAvailable , если для NotificationEnabled задано значение FALSE. В таких случаях вызов не будет выполняться.

Требования

Требование Значение
Целевая платформа Универсальное
Минимальная версия KMDF 1.27
Верхняя часть netrxqueue.h (включая netadaptercx.h)
IRQL <= HIGH_LEVEL

См. также раздел

EVT_PACKET_QUEUE_ADVANCE

EVT_PACKET_QUEUE_SET_NOTIFICATION_ENABLED