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 |