NDIS_WDI_TX_DEQUEUE_IND callback function (dot11wdi.h)

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 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(
  [in]  NDIS_HANDLE NdisMiniportDataPathHandle,
  [in]  UINT32 Quantum,
  [in]  UINT8 MaxNumFrames,
  [in]  UINT16 Credit,
  [out] PNET_BUFFER_LIST *ppNBL
)
{...}

Parameters

[in] NdisMiniportDataPathHandle

The NdisMiniportDataPathHandle passed to the IHV miniport in MiniportWdiTalTxRxInitialize.

[in] Quantum

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

[in] MaxNumFrames

Maximum frame count.

[in] Credit

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

[out] ppNBL

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

Return value

None

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

Requirement Value
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