NDIS_WDI_RX_INORDER_DATA_IND回呼函式 (dot11wdi.h)
重要
本主題是 Windows 10 中發行的 WDI 驅動程式模型的一部分。 WDI 驅動程式模型處於維護模式,而且只會收到高優先順序修正。 WiFiCx 是 Windows 11 中發行的 Wi-Fi 驅動程式模型。 我們建議您使用WiFiCx來利用最新的功能。
NdisWdiRxInorderDataIndication 回呼函式會通知 RxMgr,指出指定的 RX 畫面清單會以正確的順序存在。
這是 NDIS_WDI_DATA_API內的回呼。
語法
NDIS_WDI_RX_INORDER_DATA_IND NdisWdiRxInorderDataInd;
void NdisWdiRxInorderDataInd(
[in] NDIS_HANDLE NdisMiniportDataPathHandle,
[in] WDI_RX_INDICATION_LEVEL IndicationLevel,
[in] WDI_PEER_ID PeerId,
[in] WDI_EXTENDED_TID ExTid,
[in] PNDIS_RECEIVE_THROTTLE_PARAMETERS pRxThrottleParams,
[out] NDIS_STATUS *pWifiStatus
)
{...}
參數
[in] NdisMiniportDataPathHandle
傳遞至 MiniportWdiTalTxRxInitialize 中 IHV 迷你埠的 NdisMiniportDataPathHandle。
[in] IndicationLevel
指定 RX 指示層級 的WDI_RX_INDICATION_LEVEL 列舉值。
[in] PeerId
對等標識碼。
[in] ExTid
擴充 TID。
[in] pRxThrottleParams
NDIS_RECEIVE_THROTTLE_PARAMETERS 結構的指標。
[out] pWifiStatus
NdisWdiRxInorderDataIndication 的 WDI 狀態。 如需詳細資訊,請參閱備註一節。
傳回值
無
備註
如果此指示是 DPC 的第一個數據指示 NdisWdiRxInorderDataIndication) ,RxEngine 就會使用 WDI_RX_INDICATION_DISPATCH_FIRST_OF_DPC。 後續的數據指示會使用 WDI_RX_INDICATION_DISPATCH_GENERAL。 如果指示是在被動層級進行,則 RxEngine 必須使用WDI_RX_INDICATION_PASSIVE。 MiniportWdiRxResume 內容中所做的指示必須使用 WDI_RX_INDICATION_FROM_RX_RESUME_FRAMES。 此參數會提供限制 DPC 存留期所需的 RxMgr 資訊。
WDI_RX_INDICATION_FLAG_RESOURCES可以與其他列舉值位 ORed,導致 RxMgr 在數據指示上設定NDIS_RECEIVE_FLAG_RESOURCES旗標。
RxMgr 發出 MiniportWdiRxGetMpdus 要求來提取收到的數據。
如果目標無法進行 RX 畫面格分類,並使用來自不同 PeerID/TID 配對之 RX 畫面的個別指示,PeerID 會設定為通配符 (0xFFFF) ,而 TID 會設定為 WDI_EXT_TID_UNKNOWN。
在目標/TAL 負責重新排序緩衝區管理的情況下,也會執行所有捨棄動作。 不需要 MPDU 狀態。
PNDIS_RECEIVE_THROTTLE_PARAMETERS指向 ReceiveThrottleParameters,由 NDIS 針對向 NDIS 註冊的中斷傳遞。 這只需要針對WDI_RX_INDICATION_DISPATCH_FIRST_OF_DPC設定。 所有其他數據指示都應該傳遞 NULL,因為會忽略此參數。
如果 RxMgr 將WDI_STATUS設定為成功,RxEngine 可以在相同 DPC 的內容中建立更多數據指示。 如果 RxMgr 將WDI_STATUS設定為暫停,RxEngine 必須等到 RxMgr 發出 MiniportWdiRxResume 且應該儘快結束分派層級之前,才建立數據指示。
RxEngine 可以選擇如何在暫停時處理傳入數據。 可能的話,它應該只會緩衝處理數據。 卸除數據也是可接受的。
RxMgr 會根據PNDIS_RECEIVE_THROTTLE_PARAMETERS中指定的限制追蹤 NDIS 所指示的畫面數。 RxMgr 也會追蹤分派所花費的時間。 達到限制時,RxMgr 會傳回NDIS_STATUS_PAUSED。 RxEngine 應該儘快傳回/結束 DPC,而且不得透過 NdisWdiRxInorderDataIndication) 指出任何其他NET_BUFFER_LIST (結構,直到 RxMgr 呼叫 MiniportWdiRxResume 為止。 透過 MiniportWdiRxGetMpdus) 提供給 RxMgr (且尚未指出且尚未在不同內容中指出 NDIS 的任何NET_BUFFER_LIST結構,以避免在 DPC 花費太多時間。 清除該待辦項目之後,RxMgr 會叫用 MiniportWdiRxResume 來取消暫停 RxEngine。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 10 |
最低支援的伺服器 | Windows Server 2016 |
目標平台 | Windows |
標頭 | dot11wdi.h |