Compartilhar via


NDIS_WDI_RX_INORDER_DATA_IND função de retorno de chamada (dot11wdi.h)

Importante

Este tópico faz parte do modelo de driver WDI lançado no Windows 10. O modelo de driver WDI está no modo de manutenção e receberá apenas correções de alta prioridade. WiFiCx é o modelo de driver Wi-Fi lançado no Windows 11. Recomendamos que você use o WiFiCx para aproveitar os recursos mais recentes.

A função de retorno de chamada NdisWdiRxInorderDataIndication informa ao RxMgr que uma lista de quadros RX especificados na ordem correta está presente.

Esse é um retorno de chamada dentro de NDIS_WDI_DATA_API.

Sintaxe

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

O NdisMiniportDataPathHandle passou para o miniporto IHV em MiniportWdiTalTxRxInitialize.

[in] IndicationLevel

Um valor de enumeração WDI_RX_INDICATION_LEVEL que especifica o nível de indicação RX.

[in] PeerId

A ID do par.

[in] ExTid

O TID estendido.

[in] pRxThrottleParams

Ponteiro para uma estrutura de NDIS_RECEIVE_THROTTLE_PARAMETERS.

[out] pWifiStatus

Status do WDI para o NdisWdiRxInorderDataIndication . Consulte a seção Comentários para obter mais informações.

Valor de retorno

Nenhum

Observações

O RxEngine usará WDI_RX_INDICATION_DISPATCH_FIRST_OF_DPC se essa indicação for a primeira indicação de dados NdisWdiRxInorderDataIndication) de um DPC. As indicações de dados subsequentes usam WDI_RX_INDICATION_DISPATCH_GENERAL. Se as indicações forem feitas no nível passivo, o RxEngine deverá usar WDI_RX_INDICATION_PASSIVE. As indicações feitas no contexto de miniportWdiRxResume devem usar WDI_RX_INDICATION_FROM_RX_RESUME_FRAMES. Esse parâmetro fornece as informações do RxMgr necessárias para limitar o tempo de vida dos DPCs.

WDI_RX_INDICATION_FLAG_RESOURCES pode ser ORed bit a bit com os outros valores de enumeração para fazer com que o RxMgr defina NDIS_RECEIVE_FLAG_RESOURCES sinalizadores na indicação de dados.

O RxMgr emite solicitações de MiniportWdiRxGetMpdus para efetuar pull dos dados recebidos.

Se o destino não for capaz de classificar quadros RX e usar indicações separadas para quadros RX de diferentes pares PeerID/TID, o PeerID será definido como um caractere curinga (0xFFFF) e o TID será definido como WDI_EXT_TID_UNKNOWN.

No caso em que o destino/TAL assume total responsabilidade pelo gerenciamento de buffer de reordenação, ele também executa todas as ações de descarte. Nenhum status de MPDU é necessário.

PNDIS_RECEIVE_THROTTLE_PARAMETERS aponta para o ReceiveThrottleParameters, que é passado pelo NDIS para interrupções registradas com NDIS. Isso só precisa ser definido para WDI_RX_INDICATION_DISPATCH_FIRST_OF_DPC. Todas as outras indicações de dados devem passar NULL, pois esse parâmetro é ignorado.

Se o RxMgr definir o WDI_STATUS como bem-sucedido, o RxEngine poderá criar mais indicações de dados no contexto do mesmo DPC. Se o RxMgr definir o WDI_STATUS para pausar, o RxEngine não deverá criar indicações de dados até que o RxMgr emita um MiniportWdiRxResume e saia do nível de expedição assim que possível.

O RxEngine pode escolher como lidar com os dados de entrada durante a pausa. Se possível, ele deve apenas armazenar os dados em buffer. Remover dados também é aceitável.

O RxMgr rastreia o número de quadros indicados ao NDIS em relação ao limite especificado em PNDIS_RECEIVE_THROTTLE_PARAMETERS. O RxMgr também controla o tempo gasto na expedição. Quando os limites são atingidos, o RxMgr retorna NDIS_STATUS_PAUSED. O RxEngine deve retornar/sair do DPC assim que possível e não deve indicar mais estruturas de NET_BUFFER_LIST (por meio NdisWdiRxInorderDataIndication ) até que o RxMgr chame MiniportWdiRxResume. Todas as estruturas NET_BUFFER_LIST que são fornecidas ao RxMgr (via MiniportWdiRxGetMpdus) e ainda não foram indicadas para NDIS em um contexto diferente para evitar passar muito tempo no DPC. Depois que o backlog tiver sido limpo, o RxMgr removerá o RxEngine invocando MiniportWdiRxResume.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 10
servidor com suporte mínimo Windows Server 2016
da Plataforma de Destino Windows
cabeçalho dot11wdi.h

Consulte também

MiniportWdiRxGetMpdus

MiniportWdiRxResume

NDIS_RECEIVE_THROTTLE_PARAMETERS

NDIS_WDI_DATA_API

NET_BUFFER_LIST

caminho WDI RX

WDI_EXTENDED_TID

WDI_PEER_ID

WDI_RX_INDICATION_LEVEL