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


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

Важный

Этот раздел является частью модели драйвера WDI , выпущенной в Windows 10. Модель драйвера WDI находится в режиме обслуживания и получит только исправления с высоким приоритетом. WiFiCx — это модель драйвера Wi-Fi, выпущенная в Windows 11. Мы рекомендуем использовать WiFiCx для использования новейших функций.

Функция обратного вызова NdisWdiRxInorderDataIndication сообщает RxMgr, что список указанных кадров RX в правильном порядке присутствует.

Это обратный вызов внутри NDIS_WDI_DATA_API.

Синтаксис

NDIS_WDI_RX_INORDER_DATA_IND NdisWdiRxInorderDataInd;

void NdisWdiRxInorderDataInd(
  [in]  NDIS_HANDLE NdisMiniportDataPathHandle,
  [in]  WDI_RX_INDICATION_LEVEL IndicationLevel,
  [in]  WDI_PEER_ID PeerId,
  [in]  WDI_EXTENDED_TID ExTid,
  [in]  PNDIS_RECEIVE_THROTTLE_PARAMETERS pRxThrottleParams,
  [out] NDIS_STATUS *pWifiStatus
)
{...}

Параметры

[in] NdisMiniportDataPathHandle

NdisMiniportDataPathHandle, переданный минипорту IHV в MiniportWdiTalTxRxInitialize.

[in] IndicationLevel

Значение перечисления WDI_RX_INDICATION_LEVEL, указывающее уровень указания RX.

[in] PeerId

Идентификатор однорангового узла.

[in] ExTid

Расширенный TID.

[in] pRxThrottleParams

Указатель на структуру NDIS_RECEIVE_THROTTLE_PARAMETERS.

[out] pWifiStatus

Состояние из WDI для NdisWdiRxInorderDataIndication. Дополнительные сведения см. в разделе Примечания.

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

Никакой

Замечания

RxEngine использует WDI_RX_INDICATION_DISPATCH_FIRST_OF_DPC, если это указание является первым признаком данных NdisWdiRxInorderDataIndication) DPC. Последующие признаки данных используют WDI_RX_INDICATION_DISPATCH_GENERAL. Если признаки выполняются на пассивном уровне, RxEngine должен использовать WDI_RX_INDICATION_PASSIVE. Признаки, сделанные в контексте MiniportWdiRxResume должны использовать WDI_RX_INDICATION_FROM_RX_RESUME_FRAMES. Этот параметр предоставляет сведения RxMgr, необходимые для ограничения времени существования ЦП.

WDI_RX_INDICATION_FLAG_RESOURCES может быть побитовым параметром ORed с другими значениями перечисления, чтобы RxMgr установил флаги NDIS_RECEIVE_FLAG_RESOURCES для указания данных.

Проблемы RxMgr miniportWdiRxGetMpdus запросы на извлечение полученных данных.

Если целевой объект не поддерживает классификацию кадров RX и использует отдельные признаки для кадров RX из разных пар PeerID/TID, то для однорангового идентификатора задан подстановочный знак (0xFFFF), а TID имеет значение WDI_EXT_TID_UNKNOWN.

В случае, если целевой объект или TAL несет полную ответственность за переупорядочение управления буферами, он также выполняет все действия отмены. Состояние MPDU не требуется.

PNDIS_RECEIVE_THROTTLE_PARAMETERS указывает на ReceiveThrottleParameters, который передается NDIS для прерываний, зарегистрированных в NDIS. Это необходимо задать только для WDI_RX_INDICATION_DISPATCH_FIRST_OF_DPC. Все остальные признаки данных должны передавать значение NULL, так как этот параметр игнорируется.

Если RxMgr задает WDI_STATUS успешно, RxEngine может создать дополнительные признаки данных в контексте того же DPC. Если RxMgr задает WDI_STATUS для приостановки, RxEngine не должен создавать признаки данных до тех пор, пока RxMgr не выдает MiniportWdiRdiRxResume и должен выйти из уровня отправки как можно скорее.

RxEngine может выбрать способ обработки входящих данных во время приостановки. Если это возможно, он должен просто буферивировать данные. Удаление данных также приемлемо.

RxMgr отслеживает количество кадров, указанных NDIS в соответствии с ограничением, указанным в PNDIS_RECEIVE_THROTTLE_PARAMETERS. RxMgr также отслеживает время, затраченное на отправку. По достижении ограничений RxMgr возвращает NDIS_STATUS_PAUSED. RxEngine должен вернуть и выйти DPC как можно скорее, и не должен указывать больше NET_BUFFER_LIST структур (через NdisWdiRxInorderDataIndication) до тех пор, пока RxMgr не вызовет MiniportWdiRxResume. Любые NET_BUFFER_LIST структуры, которые предоставляются RxMgr (через MiniportWdiRdiRxGetMpdus) и еще не указаны до NDIS в другом контексте, чтобы избежать слишком много времени в DPC. После очистки этой невыполненной работы RxMgr разослает RxEngine путем вызова MiniportWdiRxResume.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 10
минимальный поддерживаемый сервер Windows Server 2016
целевая платформа Виндоус
заголовка dot11wdi.h

См. также

MiniportWdiRxGetMpdus

MiniportWdiRxResume

NDIS_RECEIVE_THROTTLE_PARAMETERS

NDIS_WDI_DATA_API

NET_BUFFER_LIST

пути WDI RX

WDI_EXTENDED_TID

WDI_PEER_ID

WDI_RX_INDICATION_LEVEL