MINIPORT_WDI_TX_DATA_SEND 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 MiniportWdiTxDataSend-Handlerfunktion gibt eine RA-TID oder Portwarteschlange an, von der aus übertragen werden soll. Sie wird im Kontext des TX-Threads vom Betriebssystem, der Fortsetzungsanzeige oder einem Arbeitselement ausgegeben.

Dies ist ein WDI-Miniporthandler in NDIS_MINIPORT_WDI_DATA_HANDLERS.

Hinweis Sie müssen die Funktion mit dem MINIPORT_WDI_TX_DATA_SEND-Typ deklarieren. Weitere Informationen finden Sie im folgenden Abschnitt Beispiele.
 

Syntax

MINIPORT_WDI_TX_DATA_SEND MiniportWdiTxDataSend;

void MiniportWdiTxDataSend(
  [in] TAL_TXRX_HANDLE MiniportTalTxRxContext,
  [in] WDI_PORT_ID PortId,
  [in] WDI_PEER_ID PeerId,
  [in] WDI_EXTENDED_TID ExTid,
  [in] UINT16 NumQueueFrames,
  [in] UINT32 NumActiveFrames,
  [in] BOOLEAN bRobustnessFlag
)
{...}

Parameter

[in] MiniportTalTxRxContext

TAL-Gerätehandle, das vom IHV-Miniport in MiniportWdiTalTxRxInitialize zurückgegeben wird.

[in] PortId

Die Port-ID.

[in] PeerId

Die Peer-ID.

[in] ExTid

Die erweiterte TID.

[in] NumQueueFrames

Die Warteschlangenlänge in Frames.

[in] NumActiveFrames

Die Gesamtanzahl von Frames in Aktion (planbare) Warteschlangen.

[in] bRobustnessFlag

Das Robustitätsflag. Wenn das Robustheitsflag auf TRUE festgelegt ist, sorgt die NIC für eine zuverlässige Übermittlung innerhalb einer kleinen Anzahl von Wiederholungen, indem die für den Frame verwendete TX-Datenrate mithilfe von CTS und/oder anderen Mechanismen aggressiv gesenkt wird.

Rückgabewert

Keine

Bemerkungen

Im Portwarteschlangenmodus sind die WDI_PEER_ID und WDI_EXTENDED_TID auf Feldhalter festgelegt. Im Kontext der Sendeanforderung gibt die TxEngine NdisWdiTxDequeueIndication aus, um den Besitz einer Reihe von Frames aus der FIFO RA-TID-Warteschlange zu übernehmen und sie an das Ziel zu übertragen. Wenn keine Frames entfernt werden können, gibt die TxEngine NdisWdiTxSendPauseIndication anstelle von NdisWdiTxDequeueIndication im selben Kontext aus.

Die TxEngine muss eine vollständige Übertragung ausstellen und vollständige Hinweise senden, um den Besitz aller Frames zurückzugeben, die an TxMgr übergeben werden. Wenn die Übertragung abgeschlossen einen Fehlercode enthält, darf die TxEngine keinen Sendeabschluss ausstellen.

Beispiele

Um eine MiniportWdiTxDataSend-Funktion zu definieren, müssen Sie zunächst eine Funktionsdeklaration bereitstellen, die den Typ der zu definierenden Funktion identifiziert. Windows stellt eine Reihe von Funktionstypen für Treiber bereit. Das Deklarieren einer Funktion mithilfe der Funktionstypen hilft der Codeanalyse für Treiber, der statischen Treiberüberprüfung (Static Driver Verifier , SDV) und anderen Überprüfungstools, Fehler zu finden, und es ist eine Anforderung zum Schreiben von Treibern für das Windows-Betriebssystem.

Um beispielsweise eine MiniportWdiTxDataSend-Funktion mit dem Namen "MyTxDataSend" zu definieren, verwenden Sie den typ MINIPORT_WDI_TX_DATA_SEND , wie in diesem Codebeispiel gezeigt:

MINIPORT_WDI_TX_DATA_SEND MyTxDataSend;

Implementieren Sie dann Ihre Funktion wie folgt:

_Use_decl_annotations_
VOID
 MyTxDataSend(
    TAL_TXRX_HANDLE MiniportTalTxRxContext,
    WDI_PORT_ID PortId,
    WDI_PEER_ID PeerId,
    WDI_EXTENDED_TID ExTid,
    UINT16 NumQueueFrames,
    UINT32 NumActiveFrames,
    BOOLEAN bRobustnessFlag
    )
  {...}

Der MINIPORT_WDI_TX_DATA_SEND Funktionstyp ist in der Headerdatei dot11wdi.h definiert. Um Fehler beim Ausführen der Codeanalysetools genauer zu identifizieren, fügen Sie der Funktionsdefinition die Use_decl_annotations Anmerkung hinzu. Die Use_decl_annotations Anmerkung stellt sicher, dass die Anmerkungen verwendet werden, die auf den MINIPORT_WDI_TX_DATA_SEND Funktionstyp in der Headerdatei angewendet 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_annotations finden Sie unter Verhalten von Funktionen mit Anmerkungen.

Anforderungen

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

Weitere Informationen

NDIS_MINIPORT_WDI_DATA_HANDLERS

NdisWdiTxDequeueIndication

NdisWdiTxSendPauseIndication

TAL_TXRX_HANDLE

WDI TX-Pfad

WDI_EXTENDED_TID

WDI_PEER_ID

WDI_PORT_ID