windot11.h) (DOT11_EXTSTA_SEND_CONTEXT 结构

重要本机 802.11 无线 LAN 接口在 Windows 10 及更高版本中已弃用。 请改用 WLAN 设备驱动程序接口 (WDI) 。 有关 WDI 的详细信息,请参阅 WLAN 通用 Windows 驱动程序模型
 
DOT11_EXTSTA_SEND_CONTEXT 结构定义数据包的本机 802.11 属性,该属性将由在 Extensible Station (ExtSTA) 模式下运行的微型端口驱动程序发送。 有关此操作模式的详细信息,请参阅 可扩展工作站操作模式

语法

typedef struct DOT11_EXTSTA_SEND_CONTEXT {
  NDIS_OBJECT_HEADER Header;
  USHORT             usExemptionActionType;
  ULONG              uPhyId;
  ULONG              uDelayedSleepValue;
  PVOID              pvMediaSpecificInfo;
  ULONG              uSendFlags;
} DOT11_EXTSTA_SEND_CONTEXT, *PDOT11_EXTSTA_SEND_CONTEXT;

成员

Header

DOT11_EXTSTA_SEND_CONTEXT结构的类型、修订版本和大小。 此成员的格式设置为 NDIS_OBJECT_HEADER 结构。

微型端口驱动程序必须将 Header 的成员设置为以下值:

类型

此成员必须设置为 NDIS_OBJECT_TYPE_DEFAULT。

修订

此成员必须设置为 DOT11_EXTSTA_SEND_CONTEXT_REVISION_1。

大小

此成员必须设置为 sizeof (DOT11_EXTSTA_SEND_CONTEXT) 。

有关这些成员的详细信息,请参阅 NDIS_OBJECT_HEADER

usExemptionActionType

数据包的加密豁免类型。 定义了以下豁免类型:

DOT11_EXEMPT_NO_EXEMPTION

数据包不能免除 802.11 工作站执行的任何密码操作。

DOT11_EXEMPT_ALWAYS

数据包不受 802.11 工作站执行的任何密码操作的豁免。 802.11 工作站必须传输未加密的数据包。

DOT11_EXEMPT_ON_KEY_MAPPING_KEY_UNAVAILABLE

仅当 802.11 工作站不具有数据包的目标媒体访问控制的键映射密钥时,数据包才会从 802.11 工作站执行的任何密码操作 (MAC) 地址中免除。 有关键映射密钥的详细信息,请参阅 802.11 密码密钥类型

uPhyId

802.11 工作站上 PHY 类型的标识符 (ID) 。 802.11 工作站必须使用指定的 PHY 来传输数据包。

uPhyId 的值必须是下列值之一:

  • 由 msDot11ActivePhyList MIB 对象定义的活动 PHY 类型列表中条目的值。 微型端口驱动程序将此 MIB 对象设置为已激活的 PHY 列表,以便通过当前基本服务集 (BSS) 网络连接使用。 有关 msDot11ActivePhyList MIB 对象的详细信息,请参阅 OID_DOT11_ACTIVE_PHY_LIST
  • 值 DOT11_PHY_ID_ANY,在这种情况下,802.11 工作站可以使用 msDot11ActivePhyList MIB 对象定义的活动 PHY 列表中的任何 PHY。
如果 uPhyId 指定的 PHY 不受支持或已通过独立硬件供应商 (IHV) 实现的专有机制禁用,微型端口驱动程序必须使发送请求失败。 在这种情况下,微型端口驱动程序将NET_BUFFER_LIST结构的 Status 成员设置为NDIS_STATUS_UNSUPPORTED_MEDIA和调用 NdisMSendNetBufferListsComplete 以完成发送请求。

uDelayedSleepValue

预期数据包响应之前的时间(以微秒为单位)。 仅当以下所有条件都为 true 时, uDelayedSleepValue 成员才有效:

  • 数据包是 (MAC) 服务数据单元 (MSDU) 数据包的媒体访问控制。
  • 802.11 工作站在省电 (PS) 模式下运行。 在这种情况下,extensible Station (ExtSTA) msDot11PowerSavingLevel 管理信息库 (MIB) 对象具有除 DOT11_POWER_SAVING_NO_POWER_SAVING 之外的任何值。 有关 msDot11PowerSavingLevel MIB 值的详细信息,请参阅 OID_DOT11_POWER_MGMT_REQUEST
802.11 工作站使用 uDelayedSleepValue 的值来优化在 PS 模式下运行时的网络性能。 例如,根据 PS 模式,如果 uDelayedSleepValue 较小,802.11 工作站可能会在数据包传输后保持无线电打开状态。 通过这样做,将减少接收响应的网络延迟。

pvMediaSpecificInfo

指向包含媒体特定信息的缓冲区的指针。 如果与此结构关联的 802.11 NET_BUFFER_LIST 结构来自本机 802.11 框架本身, (包括来自 IHV 扩展) 的任何NET_BUFFER_LIST结构,则此成员应为 NULL

否则,pvMediaSpecificInfo 指向带外 (OOB) 与原始 802.3 NET_BUFFER_LIST 结构的 NetBufferListInfo 成员中的 MediaSpecificInformation 条目关联的数据。 pvMediaSpecificInfo 允许微型端口驱动程序从特定于 IHV 的 802.3 协议驱动程序访问特定于媒体的信息。

uSendFlags

一组定义发送属性的标志。 目前,未定义任何标志。 此成员应为零。

注解

微型端口驱动程序在其将调用 MiniportSendNetBufferLists。 通过此函数传递给驱动程序的每个数据包都由 NET_BUFFER_LIST 结构定义,该结构包含本机 802.11 带外 (OOB) 数据。 OOB 数据包含 802.11 工作站在传输数据包时使用的特定于媒体的参数。

微型端口驱动程序使用以下参数通过 NET_BUFFER_LIST_INFO 宏访问本机 802.11 OOB 数据:

  • _NBL 参数,它将指针传递给用于接收的 802.11 数据包的 NET_BUFFER_LIST 结构。
  • _ id 参数,该参数传递的标识符 (ID) MediaSpecificInformation 的值。
有关本机 802.11 发送操作的详细信息,请参阅 本机 802.11 发送操作

要求

要求
最低受支持的客户端 在 Windows Vista 和更高版本的 Windows 操作系统中可用。
标头 windot11.h (包括 Ndis.h)

另请参阅

NET_BUFFER_LIST

NET_BUFFER

OID_DOT11_ACTIVE_PHY_LIST

MiniportSendNetBufferLists

OID_DOT11_POWER_MGMT_REQUEST

NET_BUFFER_LIST_INFO

NdisMSendNetBufferListsComplete

NDIS_OBJECT_HEADER