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 de trames RX spécifiées dans l’ordre correct est présente.
Il s’agit d’un rappel à l’intérieur 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 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 le NdisWdiRxInorderDataIndication. Pour plus d’informations, consultez la section Remarques.
Valeur de retour
Aucun
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 des indications sont faites au niveau passif, rxEngine doit utiliser WDI_RX_INDICATION_PASSIVE. Les indications faites 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 contrôleurs de domaine.
WDI_RX_INDICATION_FLAG_RESOURCES pouvez être ORed au niveau du bit avec les autres valeurs d’énumération pour que RxMgr définisse NDIS_RECEIVE_FLAG_RESOURCES indicateurs sur l’indication des données.
Les problèmes rxMgr MiniportWdiRxGetMpdus demandes d’extraction des données reçues.
Si la cible n’est pas capable de classification de trames RX et utilise des indications distinctes pour les trames RX de différentes paires PeerID/TID, 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 prend entièrement en charge la réorganisation de la gestion des mémoires tampons, elle effectue également toutes les actions d’abandon. Aucun état MPDU n’est requis.
PNDIS_RECEIVE_THROTTLE_PARAMETERS pointe vers le ReceiveThrottleParameters, qui est transmis par NDIS pour les interruptions inscrites auprès de NDIS. Cela ne doit être défini que pour WDI_RX_INDICATION_DISPATCH_FIRST_OF_DPC. Toutes les autres indications de données doivent passer NULL, car ce paramètre est ignoré.
Si le RxMgr définit l’WDI_STATUS en cas de réussite, RxEngine peut créer davantage d’indications de données dans le contexte du même DPC. Si le RxMgr définit la WDI_STATUS à suspendre, RxEngine ne doit pas créer d’indications de données tant que RxMgr n’émet pas un MiniportWdiRxResume et doit quitter le niveau de distribution 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.
RxMgr suit le nombre d’images indiquées à NDIS par rapport à la limite spécifiée dans PNDIS_RECEIVE_THROTTLE_PARAMETERS. Le RxMgr effectue également le suivi du temps passé à la distribution. Lorsque les limites sont atteintes, rxMgr retourne NDIS_STATUS_PAUSED. RxEngine doit retourner/quitter DPC dès que possible, et ne doit pas indiquer plus de structures NET_BUFFER_LIST (via NdisWdiRxInorderDataIndication) jusqu’à ce que RxMgr appelle MiniportWdiRxResume. Toutes les structures NET_BUFFER_LIST données à RxMgr (via MiniportWdiRxGetMpdus) et qui n’ont pas encore été indiquées jusqu’à NDIS dans un contexte différent pour éviter de passer trop de temps à DPC. Une fois que le backlog a été effacé, RxMgr annule le RxEngine en appelant MiniportWdiRxResume.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows 10 |
serveur minimum pris en charge | Windows Server 2016 |
plateforme cible | Windows |
d’en-tête | dot11wdi.h |