MINIPORT_WDI_TX_TAL_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 MiniportWdiTxTalSend-Handlerfunktion gibt eine RA-TID oder Portwarteschlange an, von der übertragen werden soll. TxMgr verwendet diese Anforderung anstelle von MiniportWdiTxDataSend für RA-TID-Warteschlangen mit einer erweiterten TID im reservierten IHV-Bereich. Sie wird im Kontext eines TX-Threads vom Betriebssystem, einer Fortsetzungsanzeige oder eines Arbeitselements ausgegeben.
Dies ist ein WDI-Miniporthandler innerhalb NDIS_MINIPORT_WDI_DATA_HANDLERS.
Syntax
MINIPORT_WDI_TX_TAL_SEND MiniportWdiTxTalSend;
void MiniportWdiTxTalSend(
[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 Aktionswarteschlangen (planbar).
[in] bRobustnessFlag
Das Robustitätsflag. Wenn das Robustitätsflag 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 PeerId und ExTid auf Wildcards 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 aus der Warteschlange entfernt werden können, gibt die TxEngine NdisWdiTxSendPauseIndication im selben Kontext anstelle von NdisWdiTxDequeueIndication aus.
Die TxEngine muss eine vollständige Übertragung ausgeben und vollständige Hinweise senden, um den Besitz aller Frames zurückzugeben, die sie an TxMgr aus der Warteschlange übergeben. Wenn die Übertragung abgeschlossen einen Fehlercode enthält, darf die TxEngine keinen Sendeabschluss ausgeben.
PeerId wird auf Wildcard festgelegt, wenn der Port als Zugriffspunkt/Wi-Fi Direct Gruppenbesitzer konfiguriert ist und der Frame eine Gruppenadresse als Empfängeradresse aufweist.
Bei einem Fehler schließt die TxEngine die Frameübertragungen an das Ziel mit dem entsprechenden Fehler status ab.
Beispiele
Um eine MiniportWdiTxTalSend-Funktion zu definieren, müssen Sie zunächst eine Funktionsdeklaration bereitstellen, die den Typ der von Ihnen definierten Funktion identifiziert. Windows bietet eine Reihe von Funktionstypen für Treiber. 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 Voraussetzung für das Schreiben von Treibern für das Windows-Betriebssystem.
Um beispielsweise eine MiniportWdiTxTalSend-Funktion mit dem Namen "MyTxTalSend" zu definieren, verwenden Sie den typ MINIPORT_WDI_TX_TAL_SEND , wie in diesem Codebeispiel gezeigt:
MINIPORT_WDI_TX_TAL_SEND MyTxTalSend;
Implementieren Sie dann Ihre Funktion wie folgt:
_Use_decl_annotations_
VOID
MyTxTalSend(
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_TAL_SEND Funktionstyp ist in der Headerdatei dot11wdi.h definiert. Um Fehler beim Ausführen der Codeanalysetools genauer zu identifizieren, müssen Sie der Funktionsdefinition die anmerkung Use_decl_annotations hinzufügen. Die Use_decl_annotations Anmerkung stellt sicher, dass die Anmerkungen verwendet werden, die auf den MINIPORT_WDI_TX_TAL_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 |