Compartir a través de


NDIS_WDI_RX_INORDER_DATA_IND función de devolución de llamada (dot11wdi.h)

Importante

Este tema forma parte del modelo de controlador WDI publicado en Windows 10. El modelo de controlador WDI está en modo de mantenimiento y solo recibirá correcciones de prioridad alta. WiFiCx es el modelo de controlador de Wi-Fi publicado en Windows 11. Se recomienda usar WiFiCx para aprovechar las características más recientes.

La función de devolución de llamada NdisWdiRxInorderDataIndication informa al RxMgr de que hay una lista de marcos RX especificados en el orden correcto.

Se trata de una devolución de llamada dentro de NDIS_WDI_DATA_API.

Sintaxis

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
)
{...}

Parámetros

[in] NdisMiniportDataPathHandle

El NdisMiniportDataPathHandle pasado al miniporte IHV en MiniportWdiTalTxRxInitialize.

[in] IndicationLevel

Valor de enumeración WDI_RX_INDICATION_LEVEL que especifica el nivel de indicación rx.

[in] PeerId

Identificador del mismo nivel.

[in] ExTid

TiD extendido.

[in] pRxThrottleParams

Puntero a una estructura de NDIS_RECEIVE_THROTTLE_PARAMETERS .

[out] pWifiStatus

Estado de WDI para NdisWdiRxInorderDataIndication. Consulte la sección Comentarios para obtener más información.

Valor devuelto

None

Observaciones

RxEngine usa WDI_RX_INDICATION_DISPATCH_FIRST_OF_DPC si esta indicación es la primera indicación de datos NdisWdiRxInorderDataIndication) de un DPC. Las indicaciones de datos posteriores usan WDI_RX_INDICATION_DISPATCH_GENERAL. Si las indicaciones se realizan en el nivel pasivo, RxEngine debe usar WDI_RX_INDICATION_PASSIVE. Las indicaciones realizadas en el contexto de MiniportWdiRxResume deben utilizar WDI_RX_INDICATION_FROM_RX_RESUME_FRAMES. Este parámetro proporciona la información de RxMgr necesaria para limitar la duración de los DPC.

WDI_RX_INDICATION_FLAG_RESOURCES puede ser ORed bit a bit con los otros valores de enumeración para hacer que RxMgr establezca marcas NDIS_RECEIVE_FLAG_RESOURCES en la indicación de datos.

RxMgr emite solicitudes miniportWdiRxGetMpdus para extraer los datos recibidos.

Si el destino no es capaz de clasificar fotogramas RX y usa indicaciones independientes para los fotogramas RX de diferentes pares PeerID/TID, peerID se establece en un carácter comodín (0xFFFF) y TID se establece en WDI_EXT_TID_UNKNOWN.

En el caso de que el destino/TAL tenga la responsabilidad total de reordenar la administración del búfer, también realiza todas las acciones de descarte. No se requiere ningún estado mpDU.

PNDIS_RECEIVE_THROTTLE_PARAMETERS apunta a ReceiveThrottleParameters, que pasa NDIS para las interrupciones registradas con NDIS. Esto solo debe establecerse para WDI_RX_INDICATION_DISPATCH_FIRST_OF_DPC. Todas las demás indicaciones de datos deben pasar NULL, ya que este parámetro se omite.

Si RxMgr establece el WDI_STATUS correcto, RxEngine puede crear más indicaciones de datos en el contexto del mismo DPC. Si RxMgr establece el WDI_STATUS en pausa, RxEngine no debe crear indicaciones de datos hasta que RxMgr emite un MiniportWdiRxResume y debe salir del nivel de envío lo antes posible.

RxEngine puede elegir cómo controlar los datos entrantes mientras están en pausa. Si es posible, solo debe almacenar en búfer los datos. La eliminación de datos también es aceptable.

RxMgr realiza un seguimiento del número de fotogramas indicados a NDIS con respecto al límite especificado en PNDIS_RECEIVE_THROTTLE_PARAMETERS. RxMgr también realiza un seguimiento del tiempo empleado en el envío. Cuando se alcanzan los límites, RxMgr devuelve NDIS_STATUS_PAUSED. RxEngine debe devolver o salir DPC lo antes posible, y no debe indicar más estructuras NET_BUFFER_LIST (a través de NdisWdiRxInorderDataIndication) hasta que RxMgr llama a MiniportWdiRxResume. Las estructuras NET_BUFFER_LIST que se proporcionan a RxMgr (a través de MiniportWdiRxGetMpdus) y que aún no se han indicado se indican hasta NDIS en un contexto diferente para evitar pasar demasiado tiempo en DPC. Una vez que se ha borrado el trabajo pendiente, RxMgr despacio el RxEngine invocando MiniportWdiRxResume.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 10
Servidor mínimo compatible Windows Server 2016
Plataforma de destino Windows
Encabezado dot11wdi.h

Consulte también

MiniportWdiRxGetMpdus

MiniportWdiRxResume

NDIS_RECEIVE_THROTTLE_PARAMETERS

NDIS_WDI_DATA_API

NET_BUFFER_LIST

Ruta de acceso de RX de WDI

WDI_EXTENDED_TID

WDI_PEER_ID

WDI_RX_INDICATION_LEVEL