Поделиться через


функция обратного вызова 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
Минимальная версия UMDF 2.33
Верхняя часть netadapter.h (включая netadaptercx.h)
IRQL PASSIVE_LEVEL