MINIPORT_WDI_RX_GET_MPDUS回呼函式 (dot11wdi.h)
重要
本主題是 Windows 10 中發行 WDI 驅動程式模型 的一部分。 WDI 驅動程式模型處於維護模式,而且只會收到高優先順序修正。 WiFiCx 是 Windows 11 中發行的 Wi-Fi 驅動程式模型。 我們建議您使用WiFiCx來利用最新的功能。
MiniportWdiRxGetMpdus 處理程式函式會傳回 NET_BUFFER_LIST 鏈結。 每個NET_BUFFER_LIST都代表一個 MPDU。
這是 NDIS_MINIPORT_WDI_DATA_HANDLERS內的 WDI 迷你埠處理程式。
語法
MINIPORT_WDI_RX_GET_MPDUS MiniportWdiRxGetMpdus;
void MiniportWdiRxGetMpdus(
[in] TAL_TXRX_HANDLE MiniportTalTxRxContext,
[in] WDI_PEER_ID PeerId,
[in] WDI_EXTENDED_TID ExTid,
[out] PNET_BUFFER_LIST *ppNBL
)
{...}
參數
[in] MiniportTalTxRxContext
MiniportWdiTalTxRxInitialize中 IHV 迷你埠所傳回的 TAL 裝置句柄。
[in] PeerId
對等標識碼。
[in] ExTid
擴充的 TID。
[out] ppNBL
從 IHV 迷你埠指向 NET_BUFFER_LIST 鏈結的指標。
傳回值
沒有
言論
如果 PeerId 和 ExTid 不是通配符(例如,PeerId 不等於0xFFFF,ExTid 不等於 31),則鏈結中的所有 MPD 都是相同的對等標識符和 TID(在此案例中,TID 是有效的 802.11 TID)。
每個 NET_BUFFER_LIST 都會指向 NET_BUFFER 結構。 每個NET_BUFFER結構都代表一個 MSDU。
如果 MPDU 具有 MSDU 片段作為承載,而且重組不會卸除至目標/TAL(或已啟用主機實作的 FIPS 模式),對應的NET_BUFFER_LIST有一個描述 MSDU 片段的NET_BUFFER。
每個NET_BUFFER的數據位移都必須設定為 MAC 標頭的開頭。
例子
若要定義 MiniportWdiRxGetMpdus 函式,您必須先提供函式宣告,以識別您要定義的函式類型。 Windows 提供一組驅動程式的函式類型。 使用函式類型宣告函式有助於 驅動程式的程式代碼分析、靜態驅動程序驗證器 (SDV)和其他驗證工具尋找錯誤,而且是撰寫 Windows作系統驅動程式的需求。
例如,若要定義名為 「MyRxGetMpdus」 的 MiniportWdiRxGetMpdus 函式,請使用 MINIPORT_WDI_RX_GET_MPDUS 類型,如下列程式代碼範例所示:
MINIPORT_WDI_RX_GET_MPDUS MyRxGetMpdus;
然後,實作您的函式,如下所示:
_Use_decl_annotations_
VOID
MyRxGetMpdus(
TAL_TXRX_HANDLE MiniportTalTxRxContext,
WDI_PEER_ID PeerId,
WDI_EXTENDED_TID ExTid,
PNET_BUFFER_LIST *ppNBL
)
{...}
MINIPORT_WDI_RX_GET_MPDUS 函式類型定義於 dot11wdi.h 頭檔中。 若要在執行程式代碼分析工具時更準確地識別錯誤,請務必將 Use_decl_annotations 批註新增至函式定義。 Use_decl_annotations 批注可確保會使用套用至頭檔中 MINIPORT_WDI_RX_GET_MPDUS 函式類型的批注。 如需函式宣告需求的詳細資訊,請參閱 使用 NDIS 驅動程式的函式角色類型來宣告函式。
如需 Use_decl_annotations的相關信息,請參閱 批注函式行為。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 10 |
支援的最低伺服器 | Windows Server 2016 |
目標平臺 | 窗戶 |
標頭 | dot11wdi.h |