NDIS_WDI_RX_INORDER_DATA_IND Rückruffunktion (dot11wdi.h)

Wichtig

Dieses Thema ist Teil des WDI-Treibermodells, das in Windows 10 veröffentlicht wurde. Das WDI-Treibermodell befindet sich im Wartungsmodus und erhält nur Korrekturen mit hoher Priorität. WiFiCx ist das Wi-Fi Treibermodell, das in Windows 11 veröffentlicht wurde. Es wird empfohlen, wiFiCx zu verwenden, um die neuesten Features zu nutzen.

Die Rückruffunktion NdisWdiRxInorderDataIndication informiert den RxMgr darüber, dass eine Liste der angegebenen RX-Frames in der richtigen Reihenfolge vorhanden ist.

Dies ist ein Rückruf innerhalb NDIS_WDI_DATA_API.

Syntax

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

Parameter

[in] NdisMiniportDataPathHandle

Der NdisMiniportDataPathHandle wurde an den IHV-Miniport in MiniportWdiTalTxRxInitialize übergeben.

[in] IndicationLevel

Ein WDI_RX_INDICATION_LEVEL Enumerationswert, der die RX-Anzeigeebene angibt.

[in] PeerId

Die Peer-ID.

[in] ExTid

Die erweiterte TID.

[in] pRxThrottleParams

Zeiger auf eine NDIS_RECEIVE_THROTTLE_PARAMETERS-Struktur .

[out] pWifiStatus

Status von WDI für die NdisWdiRxInorderDataIndication. Weitere Informationen finden Sie im Abschnitt Bemerkungen.

Rückgabewert

Keine

Bemerkungen

Die RxEngine verwendet WDI_RX_INDICATION_DISPATCH_FIRST_OF_DPC, wenn diese Angabe die erste Datenindikation NdisWdiRxInorderDataIndication) eines DPC ist. Nachfolgende Datenindikationen verwenden WDI_RX_INDICATION_DISPATCH_GENERAL. Wenn Hinweise auf passiver Ebene erfolgen, muss die RxEngine WDI_RX_INDICATION_PASSIVE verwenden. Hinweise im Kontext von MiniportWdiRxResume müssen WDI_RX_INDICATION_FROM_RX_RESUME_FRAMES verwenden. Dieser Parameter gibt die RxMgr-Informationen an, die zum Begrenzen der Lebensdauer von DPCs erforderlich sind.

WDI_RX_INDICATION_FLAG_RESOURCES können bitweise ORed mit den anderen Enumerationswerten sein, damit RxMgr NDIS_RECEIVE_FLAG_RESOURCES Flags für die Datenanzeige festlegen kann.

Der RxMgr gibt MiniportWdiRxGetMpdus-Anforderungen aus, um die empfangenen Daten abzurufen.

Wenn das Ziel nicht zur RX-Frameklassifizierung in der Lage ist und separate Hinweise für RX-Frames aus verschiedenen PeerID/TID-Paaren verwendet, wird die PeerID auf einen Feldhalter (0xFFFF) und TID auf WDI_EXT_TID_UNKNOWN festgelegt.

Wenn das Ziel/tal die volle Verantwortung für das Neuanordnen der Pufferverwaltung übernimmt, führt es auch alle Verwerfaktionen aus. Es ist kein MPDU-status erforderlich.

PNDIS_RECEIVE_THROTTLE_PARAMETERS verweist auf die ReceiveThrottleParameters, die von NDIS für bei NDIS registrierte Interrupts übergeben werden. Dies muss nur für WDI_RX_INDICATION_DISPATCH_FIRST_OF_DPC festgelegt werden. Alle anderen Datenanzeigen sollten NULL übergeben, da dieser Parameter ignoriert wird.

Wenn der RxMgr die WDI_STATUS auf Erfolg festlegt, kann die RxEngine weitere Datenindikationen im Kontext derselben DPC erstellen. Wenn der RxMgr die WDI_STATUS auf Angehalten festlegt, darf die RxEngine erst Datenindikationen erstellen, bis RxMgr einen MiniportWdiRxResume ausgibt und die Verteilerebene so schnell wie möglich beenden sollte.

Die RxEngine kann auswählen, wie eingehende Daten behandelt werden sollen, während sie angehalten werden. Wenn möglich, sollten die Daten einfach gepuffert werden. Das Löschen von Daten ist ebenfalls akzeptabel.

Der RxMgr verfolgt die Anzahl der Frames, die für NDIS angegeben sind, auf den in PNDIS_RECEIVE_THROTTLE_PARAMETERS angegebenen Grenzwert nach. Der RxMgr verfolgt auch die Zeit nach, die beim Versand verbracht wurde. Wenn Grenzwerte erreicht werden, gibt der RxMgr NDIS_STATUS_PAUSED zurück. Die RxEngine sollte DPC so schnell wie möglich zurückgeben/beenden und darf keine weiteren NET_BUFFER_LIST Strukturen angeben (über NdisWdiRxInorderDataIndication), bis RxMgr MiniportWdiRxResume aufruft. Alle NET_BUFFER_LIST Strukturen, die RxMgr (über MiniportWdiRxGetMpdus) zugewiesen und noch nicht angegeben wurden, werden bis zu NDIS in einem anderen Kontext angegeben, um zu vermeiden, zu viel Zeit für DPC zu verbringen. Sobald dieses Backlog gelöscht wurde, hebt RxMgr die Unterbrechung der RxEngine auf, indem MiniportWdiRxResume aufgerufen wird.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10
Unterstützte Mindestversion (Server) Windows Server 2016
Zielplattform Windows
Kopfzeile dot11wdi.h

Weitere Informationen

MiniportWdiRxGetMpdus

MiniportWdiRxResume

NDIS_RECEIVE_THROTTLE_PARAMETERS

NDIS_WDI_DATA_API

NET_BUFFER_LIST

WDI RX-Pfad

WDI_EXTENDED_TID

WDI_PEER_ID

WDI_RX_INDICATION_LEVEL