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 类型声明函数。 有关详细信息,请参阅以下示例部分。
 

语法

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

对等 ID。

[in] ExTid

扩展 TID。

[out] ppNBL

指向从 IHV 微型端口指向 NET_BUFFER_LIST 链的指针。

返回值

没有

言论

如果 PeerIdExTid 不是通配符(例如,PeerId 不等于 0xFFFF,ExTid 不等于 31),则链中的所有 MPD 都具有相同的对等 ID 和 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

另请参阅

NDIS_MINIPORT_WDI_DATA_HANDLERS

NET_BUFFER

NET_BUFFER_LIST

TAL_TXRX_HANDLE

WDI RX 路径

WDI_EXTENDED_TID

WDI_PEER_ID