функция обратного вызова EVT_NET_ADAPTER_CREATE_RXQUEUE (netadapter.h)

Реализация драйвером клиента функции обратного вызова события EvtNetAdapterCreateRxQueue , которая настраивает очередь получения (Rx).

Синтаксис

EVT_NET_ADAPTER_CREATE_RXQUEUE EvtNetAdapterCreateRxqueue;

NTSTATUS EvtNetAdapterCreateRxqueue(
  [_In_]    NETADAPTER Adapter,
  [_Inout_] NETRXQUEUE_INIT *RxQueueInit
)
{...}

Параметры

[_In_] Adapter

Объект сетевого адаптера, созданный клиентом перед вызовом NetAdapterCreate.

[_Inout_] RxQueueInit

Указатель на структуру, выделенную NETRXQUEUE_INIT NetAdapterCx. Дополнительные сведения см. в разделе «Примечания».

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

Если операция выполнена успешно, функция обратного вызова должна возвращать STATUS_SUCCESS или другое значение состояния, для которого NT_SUCCESS(status) равно TRUE. В противном случае — соответствующий код ошибки NTSTATUS .

Комментарии

Чтобы зарегистрировать функцию обратного вызова EVT_NET_ADAPTER_CREATE_RXQUEUE, драйвер клиента должен вызвать NetAdapterCreate.

Структура NETRXQUEUE_INIT является непрозрачной структурой, которая определяется и выделяется NetAdapterCx, аналогично WDFDEVICE_INIT.

В этом обратном вызове драйвер клиента может вызвать NetRxQueueInitGetQueueId , чтобы получить идентификатор очереди получения для настройки. Затем клиент вызывает NetRxQueueCreate , чтобы выделить очередь. Если NetRxQueueCreate завершается сбоем, функция обратного вызова EvtNetAdapterCreateRxQueue должна возвращать код ошибки.

NetAdapterCx вызывает EvtNetAdapterCreateRxQueue в самом конце последовательности включения.

Пример кода реализации этой функции обратного вызова см. в разделе Очереди передачи и получения.

Требования

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