// dot11wdi.h
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
)
{...}
View the official Windows Driver Kit DDI reference// dot11wificxintf.h
MINIPORT_WDI_TX_TAL_SEND MiniportWdiTxTalSend;
void MiniportWdiTxTalSend(
TAL_TXRX_HANDLE MiniportTalTxRxContext,
WDI_PORT_ID PortId,
WDI_PEER_ID PeerId,
WDI_EXTENDED_TID ExTid,
UINT16 NumQueueFrames,
UINT32 NumActiveFrames,
BOOLEAN bRobustnessFlag
)
{...}
View the official Windows Driver Kit DDI referenceNo description available.
[!IMPORTANT] This topic is part of the WDI driver model released in Windows 10. The WDI driver model is in maintenance mode and will only receive high priority fixes. WiFiCx is the Wi-Fi driver model released in Windows 11. We recommend that you use WiFiCx to take advantage of the latest features.
The MiniportWdiTxTalSend handler function specifies an RA-TID or port queue to transmit from. The TxMgr uses this request instead of MiniportWdiTxDataSend for RA-TID queues with an extended TID in the IHV reserved range. It is issued in the context of a TX thread from the operating system, resume indication, or a work item.
This is a WDI miniport handler inside NDIS_MINIPORT_WDI_DATA_HANDLERS.
Note You must declare the function by using the MINIPORT_WDI_TX_TAL_SEND type. For more information, see the following Examples section.
MiniportTalTxRxContext [in]TAL device handle returned by the IHV miniport in MiniportWdiTalTxRxInitialize.
PortId [in]The port ID.
PeerId [in]The peer ID.
ExTid [in]The Extended TID.
NumQueueFrames [in]The queue length, in frames.
NumActiveFrames [in]The total number of frames in action (schedulable) queues.
bRobustnessFlag [in]The robustness flag. If the robustness flag is set to TRUE, the NIC ensures reliable delivery within a small number of retries by aggressively lowering the TX data rate used for the frame using CTS and/or other mechanisms.
In port queuing mode, PeerId and ExTid are set to wildcards. In the context of the send request, the TxEngine issues NdisWdiTxDequeueIndication to take ownership of a number of frames from the FIFO RA-TID queue and transfer them to the target. If it cannot dequeue any frames, the TxEngine issues NdisWdiTxSendPauseIndication in the same context instead of NdisWdiTxDequeueIndication.
The TxEngine must issue a transfer complete and send complete indications to return ownership of any frames it dequeues to TxMgr. If the transfer complete contains a failure code, the TxEngine must not issue a send completion.
PeerId is set to wildcard if the port is configured as an access point/Wi-Fi Direct Group Owner and the frame has a group address as the receiver address.
On failure, the TxEngine completes the frame transfers to the target with the appropriate failure status.
To define a MiniportWdiTxTalSend function, you must first provide a function declaration that identifies the type of function you're defining. Windows provides a set of function types for drivers. Declaring a function using the function types helps Code Analysis for Drivers, Static Driver Verifier (SDV), and other verification tools find errors, and it's a requirement for writing drivers for the Windows operating system.
For example, to define a MiniportWdiTxTalSend function that is named "MyTxTalSend", use the MINIPORT_WDI_TX_TAL_SEND type as shown in this code example:
MINIPORT_WDI_TX_TAL_SEND MyTxTalSend;
Then, implement your function as follows:
_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
)
{...}
The MINIPORT_WDI_TX_TAL_SEND function type is defined in the dot11wdi.h header file. To more accurately identify errors when you run the code analysis tools, be sure to add the _Use_decl_annotations_ annotation to your function definition. The _Use_decl_annotations_ annotation ensures that the annotations that are applied to the MINIPORT_WDI_TX_TAL_SEND function type in the header file are used. For more information about the requirements for function declarations, see Declaring Functions by Using Function Role Types for NDIS Drivers.
For information about _Use_decl_annotations_, see Annotating Function Behavior.
NDIS_MINIPORT_WDI_DATA_HANDLERS
[!IMPORTANT] This topic is part of the WiFiCx driver model. WiFiCx is the Wi-Fi driver model released in Windows 11. We recommend that you use WiFiCx to take advantage of the latest features. The previous Wi-Fi driver model WDI is in maintenance mode and will only receive high priority fixes.
[!WARNING] Some information in this topic relates to prereleased product, which may be substantially modified before it is commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
This function is reserved for system use and should not be called in your code.
MiniportTalTxRxContextReserved.
PortIdReserved.
PeerIdReserved.
ExTidReserved.
NumQueueFramesReserved.
NumActiveFramesReserved.
bRobustnessFlagReserved.