Partager via


NDIS_WDI_RX_INORDER_DATA_IND fonction de rappel (dot11wdi.h)

Important

Cette rubrique fait partie du modèle de pilote WDI publié dans Windows 10. Le modèle de pilote WDI est en mode maintenance et ne reçoit que des correctifs de priorité élevée. WiFiCx est le modèle de pilote Wi-Fi publié dans Windows 11. Nous vous recommandons d’utiliser WiFiCx pour tirer parti des dernières fonctionnalités.

La fonction de rappel NdisWdiRxInorderDataIndication informe le RxMgr qu’une liste d’images RX spécifiées dans l’ordre correct est présente.

Il s’agit d’un rappel à l’intérieur de NDIS_WDI_DATA_API.

Syntaxe

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

Paramètres

[in] NdisMiniportDataPathHandle

Le NdisMiniportDataPathHandle est passé au miniport IHV dans MiniportWdiTalTxRxInitialize.

[in] IndicationLevel

Valeur d’énumération WDI_RX_INDICATION_LEVEL qui spécifie le niveau d’indication RX.

[in] PeerId

ID d’homologue.

[in] ExTid

TID étendu.

[in] pRxThrottleParams

Pointeur vers une structure NDIS_RECEIVE_THROTTLE_PARAMETERS .

[out] pWifiStatus

État de WDI pour NdisWdiRxInorderDataIndication. Pour plus d’informations, consultez la section Remarques.

Valeur retournée

None

Remarques

RxEngine utilise WDI_RX_INDICATION_DISPATCH_FIRST_OF_DPC si cette indication est la première indication de données NdisWdiRxInorderDataIndication) d’un DPC. Les indications de données suivantes utilisent WDI_RX_INDICATION_DISPATCH_GENERAL. Si les indications sont effectuées au niveau passif, le RxEngine doit utiliser WDI_RX_INDICATION_PASSIVE. Les indications effectuées dans le contexte de MiniportWdiRxResume doivent utiliser WDI_RX_INDICATION_FROM_RX_RESUME_FRAMES. Ce paramètre fournit les informations RxMgr nécessaires pour limiter la durée de vie des PDC.

WDI_RX_INDICATION_FLAG_RESOURCES peut être ORed au niveau du bit avec les autres valeurs d’énumération pour amener RxMgr à définir NDIS_RECEIVE_FLAG_RESOURCES indicateurs sur l’indication de données.

Le RxMgr émet des demandes MiniportWdiRxGetMpdus pour extraire les données reçues.

Si la cible n’est pas capable de classification d’images RX et utilise des indications distinctes pour les images RX de paires PeerID/TID différentes, peerID est défini sur un caractère générique (0xFFFF) et TID est défini sur WDI_EXT_TID_UNKNOWN.

Dans le cas où la cible/TAL assume l’entière responsabilité de réorganiser la gestion de la mémoire tampon, elle effectue également toutes les actions d’abandon. Aucune status MPDU n’est requise.

PNDIS_RECEIVE_THROTTLE_PARAMETERS pointe vers receiveThrottleParameters, qui est transmis par NDIS pour les interruptions inscrites auprès de NDIS. Il ne doit être défini que pour WDI_RX_INDICATION_DISPATCH_FIRST_OF_DPC. Toutes les autres indications de données doivent passer la valeur NULL, car ce paramètre est ignoré.

Si rxMgr définit la WDI_STATUS sur la réussite, rxEngine peut créer d’autres indications de données dans le contexte du même DPC. Si le RxMgr définit le WDI_STATUS à suspendre, le RxEngine ne doit pas créer d’indications de données tant que le RxMgr n’émet pas un MiniportWdiRxResume et doit quitter le niveau de répartition dès que possible.

RxEngine peut choisir comment gérer les données entrantes en pause. Si possible, il doit simplement mettre en mémoire tampon les données. La suppression de données est également acceptable.

Le RxMgr effectue le suivi du nombre d’images indiquées à NDIS par rapport à la limite spécifiée dans PNDIS_RECEIVE_THROTTLE_PARAMETERS. Le RxMgr suit également le temps passé au moment de la distribution. Lorsque les limites sont atteintes, le RxMgr retourne NDIS_STATUS_PAUSED. Le RxEngine doit retourner/quitter DPC dès que possible, et ne doit pas indiquer d’autres structures NET_BUFFER_LIST (via NdisWdiRxInorderDataIndication) jusqu’à ce que RxMgr appelle MiniportWdiRxResume. Toutes les structures NET_BUFFER_LIST qui sont données à RxMgr (via MiniportWdiRxGetMpdus) et qui n’ont pas encore été indiquées jusqu’à NDIS sont indiquées jusqu’à NDIS dans un contexte différent pour éviter de passer trop de temps à DPC. Une fois ce backlog effacé, RxMgr désamorce le RxEngine en appelant MiniportWdiRxResume.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 10
Serveur minimal pris en charge Windows Server 2016
Plateforme cible Windows
En-tête dot11wdi.h

Voir aussi

MiniportWdiRxGetMpdus

MiniportWdiRxResume

NDIS_RECEIVE_THROTTLE_PARAMETERS

NDIS_WDI_DATA_API

NET_BUFFER_LIST

Chemin d’accès WDI RX

WDI_EXTENDED_TID

WDI_PEER_ID

WDI_RX_INDICATION_LEVEL