共用方式為


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

另請參閱

MiniportWdiRxGetMpdus

MiniportWdiRxResume

NDIS_RECEIVE_THROTTLE_PARAMETERS

NDIS_WDI_DATA_API

NET_BUFFER_LIST

WDI RX 路徑

WDI_EXTENDED_TID

WDI_PEER_ID

WDI_RX_INDICATION_LEVEL