Condividi tramite


NDIS_WDI_RX_INORDER_DATA_IND funzione di callback (dot11wdi.h)

Importante

Questo argomento fa parte del modello di driver WDI rilasciato in Windows 10. Il modello di driver WDI è in modalità di manutenzione e riceverà solo correzioni con priorità elevata. WiFiCx è il modello di driver Wi-Fi rilasciato in Windows 11. Ti consigliamo di usare WiFiCx per sfruttare le funzionalità più recenti.

La funzione di callback NdisWdiRxInorderDataIndication informa RxMgr che è presente un elenco di frame RX specificati nell'ordine corretto.

Si tratta di un callback all'interno di NDIS_WDI_DATA_API.

Sintassi

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

Parametri

[in] NdisMiniportDataPathHandle

NdisMiniportDataPathHandle passato al miniport IHV in MiniportWdiTalTxRxInitialize.

[in] IndicationLevel

Valore di enumerazione WDI_RX_INDICATION_LEVEL che specifica il livello di indicazione RX.

[in] PeerId

ID peer.

[in] ExTid

TID esteso.

[in] pRxThrottleParams

Puntatore a una struttura NDIS_RECEIVE_THROTTLE_PARAMETERS .

[out] pWifiStatus

Stato da WDI per NdisWdiRxInorderDataIndication. Per altre informazioni, vedere la sezione Osservazioni .

Valore restituito

nessuno

Osservazioni

RxEngine usa WDI_RX_INDICATION_DISPATCH_FIRST_OF_DPC se questa indicazione è la prima indicazione dei dati NdisWdiRxInorderDataIndication) di un DPC. Le indicazioni dei dati successive usano WDI_RX_INDICATION_DISPATCH_GENERAL. Se le indicazioni vengono effettuate a livello passivo, RxEngine deve usare WDI_RX_INDICATION_PASSIVE. Le indicazioni effettuate nel contesto di MiniportWdiRxResume devono usare WDI_RX_INDICATION_FROM_RX_RESUME_FRAMES. Questo parametro fornisce le informazioni di RxMgr necessarie per limitare la durata dei controller di dominio.

WDI_RX_INDICATION_FLAG_RESOURCES può essere ORed bit per bit con gli altri valori di enumerazione per fare in modo che RxMgr imposti NDIS_RECEIVE_FLAG_RESOURCES flag sull'indicazione dei dati.

RxMgr invia richieste MiniportWdiRxGetMpdus per eseguire il pull dei dati ricevuti.

Se la destinazione non è in grado di classificare i fotogrammi RX e usa indicazioni separate per i frame RX da coppie PeerID/TID diverse, PeerID viene impostato su un carattere jolly (0xFFFF) e TID è impostato su WDI_EXT_TID_UNKNOWN.

Nel caso in cui la destinazione/tal assume la piena responsabilità per la gestione del buffer di riordinamento, esegue anche tutte le azioni di eliminazione. Non è necessario alcuno stato MPDU.

PNDIS_RECEIVE_THROTTLE_PARAMETERS punta a ReceiveThrottleParameters, che viene passato da NDIS per gli interrupt registrati con NDIS. Questa impostazione deve essere impostata solo per WDI_RX_INDICATION_DISPATCH_FIRST_OF_DPC. Tutte le altre indicazioni di dati devono passare NULL, perché questo parametro viene ignorato.

Se RxMgr imposta l'WDI_STATUS su esito positivo, RxEngine può creare più indicazioni sui dati nel contesto dello stesso DPC. Se RxMgr imposta l'WDI_STATUS da sospendere, RxEngine non deve creare indicazioni sui dati finché RxMgr non rilascia un miniportWdiRxResume e deve uscire dal livello di invio appena possibile.

RxEngine può scegliere come gestire i dati in ingresso durante la sospensione. Se possibile, deve semplicemente memorizzare nel buffer i dati. Anche l'eliminazione dei dati è accettabile.

RxMgr tiene traccia del numero di fotogrammi indicati in NDIS rispetto al limite specificato in PNDIS_RECEIVE_THROTTLE_PARAMETERS. RxMgr tiene traccia anche del tempo dedicato all'invio. Quando vengono raggiunti i limiti, RxMgr restituisce NDIS_STATUS_PAUSED. RxEngine deve restituire/uscire dal DPC appena possibile e non deve indicare altre strutture NET_BUFFER_LIST (tramite NdisWdiRxInorderDataIndication) fino a quando RxMgr chiama MiniportWdiRxResume. Tutte le strutture NET_BUFFER_LIST fornite a RxMgr (tramite MiniportWdiRxGetMpdus) e non sono state ancora indicate fino a NDIS in un contesto diverso per evitare di spendere troppo tempo in DPC. Dopo che il backlog è stato cancellato, RxMgr annulla l'operazione RxEngine richiamando MiniportWdiRxResume.

Requisiti

Requisito Valore
Client minimo supportato Windows 10
Server minimo supportato Windows Server 2016
Piattaforma di destinazione Windows
Intestazione dot11wdi.h

Vedi anche

MiniportWdiRxGetMpdus

MiniportWdiRxResume

NDIS_RECEIVE_THROTTLE_PARAMETERS

NDIS_WDI_DATA_API

NET_BUFFER_LIST

Percorso RX WDI

WDI_EXTENDED_TID

WDI_PEER_ID

WDI_RX_INDICATION_LEVEL