Freigeben über


MINIPORT_WDI_RX_GET_MPDUS Rückruffunktion (dot11wdi.h)

Wichtig

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

Die MiniportWdiRxGetMpdus-Handlerfunktion gibt eine NET_BUFFER_LIST Kette zurück. Jede NET_BUFFER_LIST stellt eine MPDU dar.

Dies ist ein WDI-Miniporthandler innerhalb NDIS_MINIPORT_WDI_DATA_HANDLERS.

Hinweis Sie müssen die Funktion mithilfe des MINIPORT_WDI_RX_GET_MPDUS Typs deklarieren. Weitere Informationen finden Sie im folgenden Abschnitt "Beispiele".
 

Syntax

MINIPORT_WDI_RX_GET_MPDUS MiniportWdiRxGetMpdus;

void MiniportWdiRxGetMpdus(
  [in]  TAL_TXRX_HANDLE MiniportTalTxRxContext,
  [in]  WDI_PEER_ID PeerId,
  [in]  WDI_EXTENDED_TID ExTid,
  [out] PNET_BUFFER_LIST *ppNBL
)
{...}

Parameter

[in] MiniportTalTxRxContext

TAL-Gerätehandle, der vom IHV miniport in MiniportWdiTalTxRxInitializezurückgegeben wird.

[in] PeerId

Die Peer-ID.

[in] ExTid

Die erweiterte TID.

[out] ppNBL

Zeiger auf einen Zeiger auf eine NET_BUFFER_LIST Kette vom IHV-Miniport.

Rückgabewert

Nichts

Bemerkungen

Wenn PeerId und ExTid- keine Wildcards sind (z. B. PeerId- nicht gleich 0xFFFF ist, ist ExTid- nicht gleich 31), alle MPDUs in der Kette sind der gleichen Peer-ID und TID (in diesem Fall ist TID eine gültige TID 802.11 TID).

Jede NET_BUFFER_LIST verweist auf NET_BUFFER Strukturen. Jede NET_BUFFER Struktur stellt eine MSDU dar.

Wenn ein MPDU über ein MSDU-Fragment als Nutzlast verfügt und die Defragmentierung nicht in den Ziel-/TAL-Modus (oder host implementierter FIPS-Modus aktiviert ist) wird, weist die entsprechende NET_BUFFER_LIST einen NET_BUFFER auf, der das MSDU-Fragment beschreibt.

Der Datenoffset der einzelnen NET_BUFFER muss auf den Anfang des MAC-Headers festgelegt werden.

Beispiele

Um eine MiniportWdiRxGetMpdus-Funktion zu definieren, müssen Sie zuerst eine Funktionsdeklaration bereitstellen, die den Typ der Funktion identifiziert, die Sie definieren. Windows stellt eine Reihe von Funktionstypen für Treiber bereit. Durch das Deklarieren einer Funktion mithilfe der Funktionstypen können Codeanalyse für Treiber, statische Treiberüberprüfung (SDV) und andere Überprüfungstools Fehler finden, und es ist eine Anforderung zum Schreiben von Treibern für das Windows-Betriebssystem.

Um beispielsweise eine MiniportWdiRxGetMpdus-Funktion zu definieren, die den Namen "MyRxGetMpdus" hat, verwenden Sie den MINIPORT_WDI_RX_GET_MPDUS Typ, wie in diesem Codebeispiel gezeigt:

MINIPORT_WDI_RX_GET_MPDUS MyRxGetMpdus;

Implementieren Sie dann Ihre Funktion wie folgt:

_Use_decl_annotations_
VOID
 MyRxGetMpdus(
    TAL_TXRX_HANDLE MiniportTalTxRxContext,
    WDI_PEER_ID PeerId,
    WDI_EXTENDED_TID ExTid,
    PNET_BUFFER_LIST *ppNBL
    )
  {...}

Der MINIPORT_WDI_RX_GET_MPDUS Funktionstyp wird in der Headerdatei dot11wdi.h definiert. Um Fehler genauer zu identifizieren, wenn Sie die Codeanalysetools ausführen, müssen Sie der Funktionsdefinition die Use_decl_annotations Anmerkung hinzufügen. Die Use_decl_annotations Anmerkung stellt sicher, dass die Anmerkungen, die auf den Funktionstyp MINIPORT_WDI_RX_GET_MPDUS in der Headerdatei angewendet werden, verwendet werden. Weitere Informationen zu den Anforderungen für Funktionsdeklarationen finden Sie unter Deklarieren von Funktionen mithilfe von Funktionsrollentypen für NDIS-Treiber.

Informationen zu Use_decl_annotationsfinden Sie unter Annotating Function Behavior.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 10
mindestens unterstützte Server- Windows Server 2016
Zielplattform- Fenster
Header- dot11wdi.h

Siehe auch

NDIS_MINIPORT_WDI_DATA_HANDLERS

NET_BUFFER

NET_BUFFER_LIST

TAL_TXRX_HANDLE

WDI RX-Pfad

WDI_EXTENDED_TID

WDI_PEER_ID