Функция 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 |
Минимальная версия UMDF | 2.33 |
Верхняя часть | netrxqueue.h (включая netadaptercx.h) |
IRQL | <= HIGH_LEVEL |