NDIS_WDI_TX_DEQUEUE_IND callback function

The NdisWdiTxDequeueIndication callback function is called in the context of a MiniportWdiTxDataSend or MiniportWdiTxTalSend by the IHV miniport to dequeue frames from WDI to the IHV miniport.

This is a callback inside NDIS_WDI_DATA_API.

Syntax

NDIS_WDI_TX_DEQUEUE_IND NdisWdiTxDequeueInd;

void NdisWdiTxDequeueInd(
  NDIS_HANDLE NdisMiniportDataPathHandle,
  UINT32 Quantum,
  UINT8 MaxNumFrames,
  UINT16 Credit,
  PNET_BUFFER_LIST *ppNBL
)
{...}

Parameters

NdisMiniportDataPathHandle

The NdisMiniportDataPathHandle passed to the IHV miniport in MiniportWdiTalTxRxInitialize.

Quantum

The quantum. For more information, see the Host - target TX transfer scheduling section in WDI TX path.

MaxNumFrames

Maximum frame count.

Credit

Credit value. For more information, see The target-credit scheme and the pause/resume mechanism section in WDI TX path.

*ppNBL

Pointer to a pointer to a NET_BUFFER_LIST chain dequeued by WDI.

Return Value

This callback function does not return a value.

Remarks

A subset of the parameters may not be applicable to a device. For instance, the maximum frame count may not apply to a store and forward device (message-based bus interface).

The following parameters are ignored by TxMgr under these circumstances.

  • Quantum if set to WDI_TX_QUANTUM_INVALID (0xFFFFFFFF)
  • MaxNumFrames if set to WDI_TX_MAX_FRAME_COUNT_INVALID (0xFF)
  • Credit if set to WDI_TX_CREDIT_INVALID (0xFFFF)
The TAL should provide accurate parameters whenever possible to guarantee fairness and avoid overwhelming TIL/target resources.

If the TAL does not have enough credit to dequeue a maximum cost frame, it should issue an NdisWdiTxSendPauseIndication instead of an NdisWdiTxDequeueIndication.

The TxMgr may return a list of NET_BUFFER_LIST that exceed the limit of the number of frames, frame cost, or quantum. This only happens if the frames are being requeued/replayed after being send completed with status of Postponed and with identical sequence number, which indicates they were originally transmitted as part of a single A-MSDU.

Requirements

   
Minimum supported client Windows 10
Minimum supported server Windows Server 2016
Target Platform Windows
Header dot11wdi.h

See Also

NDIS_WDI_DATA_API

NET_BUFFER_LIST

NdisWdiTxDequeueIndication

NdisWdiTxSendPauseIndication

WDI TX path