DOT11_ASSOCIATION_COMPLETION_PARAMETERS 结构 (windot11.h)
重要
本机 802.11 无线 LAN 接口在 Windows 10 及更高版本中已弃用。 请改用 WLAN 设备驱动程序接口 (WDI) 。 有关 WDI 的详细信息,请参阅 WLAN 通用 Windows 驱动程序模型。
DOT11_ASSOCIATION_COMPLETION_PARAMETERS结构指定 802.11 工作站使用接入点 (AP) 或对等站执行的关联操作的结果。 当微型端口驱动程序发出NDIS_STATUS_DOT11_ASSOCIATION_COMPLETION状态指示时,Native 802.11 微型端口驱动程序包括 DOT11_ASSOCIATION_COMPLETION_PARAMETERS 结构。
语法
typedef struct DOT11_ASSOCIATION_COMPLETION_PARAMETERS {
NDIS_OBJECT_HEADER Header;
DOT11_MAC_ADDRESS MacAddr;
DOT11_ASSOC_STATUS uStatus;
BOOLEAN bReAssocReq;
BOOLEAN bReAssocResp;
ULONG uAssocReqOffset;
ULONG uAssocReqSize;
ULONG uAssocRespOffset;
ULONG uAssocRespSize;
ULONG uBeaconOffset;
ULONG uBeaconSize;
ULONG uIHVDataOffset;
ULONG uIHVDataSize;
DOT11_AUTH_ALGORITHM AuthAlgo;
DOT11_CIPHER_ALGORITHM UnicastCipher;
DOT11_CIPHER_ALGORITHM MulticastCipher;
ULONG uActivePhyListOffset;
ULONG uActivePhyListSize;
BOOLEAN bFourAddressSupported;
BOOLEAN bPortAuthorized;
UCHAR ucActiveQoSProtocol;
DOT11_DS_INFO DSInfo;
ULONG uEncapTableOffset;
ULONG uEncapTableSize;
DOT11_CIPHER_ALGORITHM MulticastMgmtCipher;
ULONG uAssocComebackTime;
} DOT11_ASSOCIATION_COMPLETION_PARAMETERS, *PDOT11_ASSOCIATION_COMPLETION_PARAMETERS;
成员
Header
DOT11_ASSOCIATION_COMPLETION_PARAMETERS 结构的类型、修订和大小。 此成员的格式设置为 NDIS_OBJECT_HEADER 结构。
微型端口驱动程序必须将 Header 的成员设置为以下值:
类型
此成员必须设置为 NDIS_OBJECT_TYPE_DEFAULT。
修订
此成员必须设置为 DOT11_ASSOCIATION_COMPLETION_PARAMETERS_REVISION_1。
大小
此成员必须设置为 sizeof(DOT11_ASSOCIATION_COMPLETION_PARAMETERS)
。
有关这些成员的详细信息,请参阅 NDIS_OBJECT_HEADER。
MacAddr
媒体访问控制 (MAC) 地址,适用于基础结构 BSS 网络 (AP) () 或对等站 (独立 BSS (IBSS) 网络) 802.11 工作站尝试连接到的接入点。
uStatus
关联操作的完成状态,由为 DOT11_ASSOC_STATUS 定义的值指定。
bReAssocReq
一个布尔值,指示 802.11 工作站是否向 AP 发送了 802.11 关联或重新关联帧。 如果 为 TRUE,则 802.11 工作站向 AP 发送了 801.11 重新关联请求帧。 如果 为 FALSE,则 802.11 工作站向 AP 发送了 802.11 关联请求帧。
仅当 dot11DesiredBSSType MIB 对象设置为 dot11_BSS_type_infrastructure时,bReAssocReq 成员的值为 TRUE 才有效。
bReAssocResp
一个布尔值,指示 802.11 工作站是从 AP 接收 802.11 关联帧还是重新关联帧。 如果 为 TRUE,则 802.11 工作站收到来自 AP 的 802.11 重新关联响应帧。 如果 为 FALSE,则 802.11 工作站从 AP 收到 802.11 关联响应帧。
仅当 dot11DesiredBSSType MIB 对象设置为 dot11_BSS_type_infrastructure 时,bReAssocResp 成员的值为 TRUE 才有效。
uAssocReqOffset
关联操作中使用的请求帧的偏移量。 帧不包括 802.11 MAC 标头。
此偏移量相对于包含 DOT11_ASSOCIATION_COMPLETION_PARAMETERS 结构的缓冲区的起始位置。
微型端口驱动程序返回的关联请求帧取决于 IEEE 802.11 dot11DesiredBSSType MIB 对象的设置:
- 如果 dot11DesiredBSSType MIB 对象设置为 dot11_BSS_type_infrastructure,则帧为 802.11 关联请求帧 (如果 bReAssocReq 为 FALSE) 或重新关联请求帧 (如果 bReAssocReq 为 TRUE) 已发送到 AP。微型端口驱动程序必须返回一个 802.11 探测请求帧,该帧由关联发起方发送或驱动程序基于关联操作期间交换的信息创建。
- 如果将 dot11DesiredBSSType MIB 对象设置为 dot11_BSS_type_independent,微型端口驱动程序必须将 uAssocReqOffset 成员设置为零。
如果微型端口驱动程序在关联操作期间无法发送请求帧,则必须将 uAssocReqOffset 和 uAssocReqSize 成员设置为零。 例如,如果 AP 未能通过 802.11 工作站发送的 802.11 身份验证帧,微型端口驱动程序必须将 uAssocReqOffset 和 uAssocReqSize 设置为零。
uAssocReqSize
关联操作中使用的请求帧的长度。 帧的长度不包括 802.11 MAC 标头。
如果将 dot11DesiredBSSType MIB 对象设置为 dot11_BSS_type_independent,微型端口驱动程序必须将 uAssocReqSize 成员设置为零。
uAssocRespOffset
关联操作中使用的响应帧的偏移量。 帧不包括 802.11 MAC 标头。
此偏移量相对于缓冲区的开头,该缓冲区包含DOT11_ASSOCIATION_COMPLETION_PARAMETERS结构。
微型端口驱动程序返回的关联响应帧取决于 IEEE 802.11 dot11DesiredBSSType MIB 对象的设置:
如果 dot11DesiredBSSType MIB 对象设置为 dot11_BSS_type_infrastructure,则帧为 802.11 关联响应帧 (如果 bReAssocReq 为 TRUE) ,则为 802.11 关联响应 (帧;如果 bReAssocReq 为 FALSE) 从 AP 接收,则为重新关联响应帧。 微型端口驱动程序必须返回一个 802.11 探测响应帧,该帧要么发送到关联发起方,要么由驱动程序根据关联操作期间交换的信息创建。
如果将 dot11DesiredBSSType MIB 对象设置为 dot11_BSS_type_independent,微型端口驱动程序必须将 uAssocRespOffset 成员设置为零。
如果微型端口驱动程序在关联操作期间未收到响应帧,则必须将 uAssocRespOffset 和 uAssocRespSize 成员设置为零。
uAssocRespSize
关联操作中使用的响应帧的长度。 帧的长度不包括 802.11 MAC 标头。
如果将 dot11DesiredBSSType MIB 对象设置为 dot11_BSS_type_independent,微型端口驱动程序必须将 uAssocRespSize 成员设置为零。
uBeaconOffset
上次接收的 802.11 信标或探测响应帧的偏移量。 发出 NDIS_STATUS_DOT11_ASSOCIATION_COMPLETION 状态指示时,微型端口驱动程序必须排除这些帧的 802.11 MAC 标头。
此偏移量相对于缓冲区的开头,该缓冲区包含DOT11_ASSOCIATION_COMPLETION_PARAMETERS结构。
注意
如果关联上使用的身份验证算法 Wi-Fi 受保护的访问 (WPA) 或 IEEE 802.11i 可靠安全网络关联 (RSNA) ,微型端口驱动程序必须始终返回上次收到的 802.11 信标帧,并且不得将 uBeaconOffset 和 uBeaconSize 成员设置为零。
uBeaconSize
上次接收的 802.11 信标帧的长度。 帧的长度不包括 802.11 MAC 标头。
uIHVDataOffset
IHV 定义的专有格式的数据块的偏移量。 IHV 可以将此数据块用于与 NDIS_STATUS_DOT11_ASSOCIATION_COMPLETION 状态指示相关的任何目的。
此偏移量相对于缓冲区的开头,该缓冲区包含DOT11_ASSOCIATION_COMPLETION_PARAMETERS结构。
如果微型端口驱动程序未在 NDIS_STATUS_DOT11_ASSOCIATION_COMPLETION 状态指示中返回 IHV 数据,则必须将 uIHVDataOffset 设置为零。
uIHVDataSize
IHV 用于 NDIS_STATUS_DOT11_ASSOCIATION_COMPLETION 状态指示的数据块的长度。 如果微型端口驱动程序在此指示中未返回 IHV 数据,则必须将 uIHVDataSize 设置为零。
AuthAlgo
802.11 工作站在关联操作期间通过 AP 或对等站解析的身份验证算法。 有关 AuthAlgo 成员的数据类型的详细信息,请参阅 DOT11_AUTH_ALGORITHM。
如果 uStatus 未设置为 DOT11_ASSOCIATION_STATUS_SUCCESS,微型端口驱动程序必须将此成员设置为零。
UnicastCipher
802.11 工作站在关联操作期间与 AP 或对等站解析的单播密码算法。 有关 UnicastCipher 成员的数据类型的详细信息,请参阅 DOT11_CIPHER_ALGORITHM。
如果 uStatus 未设置为 DOT11_ASSOCIATION_STATUS_SUCCESS,微型端口驱动程序必须将此成员设置为零。
MulticastCipher
802.11 工作站在关联操作期间与 AP 或对等站解析的多播密码算法。 有关 多播密码 成员的数据类型的详细信息,请参阅 DOT11_CIPHER_ALGORITHM
如果 uStatus 未设置为 DOT11_ASSOCIATION_STATUS_SUCCESS,微型端口驱动程序必须将此成员设置为零。
uActivePhyListOffset
PHY 标识符列表 (ID 的偏移量) 802.11 工作站用于在 BSS 网络连接上发送或接收数据包。
Extensible Station (ExtSTA) msDot11ActivePhyList MIB 对象也引用活动的 PHY 列表。
有关此 MIB 对象的详细信息,请参阅 OID_DOT11_ACTIVE_PHY_LIST。
活动 PHY 列表中的条目可以是以下值之一:
- 由 ExtSTA msDot11DesiredPhyList MIB 对象指定的 PHY ID。 有关此 MIB 对象的详细信息,请参阅 OID_DOT11_DESIRED_PHY_LIST。
- DOT11_PHY_ID_ANY。 如果 msDot11ActivePhyList MIB 对象指定由 msDot11DesiredPhyList MIB 对象指定的所有 PHY ID,微型端口驱动程序可以设置此值的条目。 值为 DOT11_PHY_ID_ANY 的条目必须是活动 PHY 列表中唯一的条目。
活动 PHY 列表的偏移量相对于包含 DOT11_ASSOCIATION_COMPLETION_PARAMETERS 结构的缓冲区的起始位置。
如果 uStatus 未设置为 DOT11_ASSOCIATION_STATUS_SUCCESS,微型端口驱动程序必须将 uActivePhyListOffset 和 uActivePhyListSize 成员设置为零。
uActivePhyListSize
活动 PHY 列表的长度。 uActivePhyListSize 成员必须是 的倍数sizeof(ULONG)
。
bFourAddressSupported
一个布尔值,如果设置为 TRUE,则指定 802.11 工作站与一个 AP 相关联,该 AP 支持分发系统 (DS) 服务,以便在 BSS 网络中的任何工作站(包括移动工作站和 AP)上进行 ISO 第 2 层桥接。 此支持的确定特定于 IHV 的实现。
如果满足以下任一条件,微型端口驱动程序必须将 bFourAddressSupported 成员设置为 FALSE :
- IEEE 802.11 dot1DesiredBSSType MIB 对象设置为 dot11_BSS_type_independent。
- 802.11 工作站未与支持 DS 服务的 AP 关联,或者无法确定 AP 是否支持 DS 服务。
- uStatus 成员未设置为 DOT11_ASSOCIATION_STATUS_SUCCESS。
bPortAuthorized
一个布尔值,如果设置为 TRUE,则指定 802.11 工作站在关联操作期间已成功执行端口授权。 端口授权可以基于 IEEE 802.1X/802.11i 标准或 IHV 开发的专有算法。
如果满足以下任一条件,微型端口驱动程序必须将 bPortAuthorized 设置为 FALSE :
- 802.11 工作站不执行端口授权。
- uStatus 成员未设置为 DOT11_ASSOCIATION_STATUS_SUCCESS。
有关端口授权的详细信息,请参阅 基于端口的网络访问。
ucActiveQoSProtocol
一个标志,指定 (QoS) 协议的服务质量,该协议当前对此关联处于活动状态。 此成员为零 (指示没有 QoS 协议) 处于活动状态,或以下标志之一:
DOT11_QOS_PROTOCOL_FLAG_WMM
NIC 使用 802.11 WMM QoS 协议。
DOT11_QOS_PROTOCOL_FLAG_11E
NIC 使用 802.11e QoS 协议。
DSInfo
一个 DOT11_DS_INFO 值,该值指定 802.11 工作站是否从上一个关联操作连接到同一 DS。
DSInfo 成员的格式设置为DOT11_DS_INFO枚举,该枚举指定以下值:
DOT11_DS_CHANGED
关联操作后,802.11 工作站已连接到新的 DS。
DOT11_DS_UNCHANGED
802.11 工作站通过关联操作连接到同一 DS。
DOT11_DS_UNKNOWN
微型端口驱动程序无法确定 DS 在关联操作后是否已更改。
注意
如果 dot11DesiredBSSType MIB 对象设置为 dot11_BSS_type_independent,微型端口驱动程序必须将 DSInfo 设置为 DOT11_DS_UNKNOWN。
uEncapTableOffset
BSS 关联的 IEEE EtherType 封装列表的偏移量。
此偏移量相对于缓冲区的开头,该缓冲区包含DOT11_ASSOCIATION_COMPLETION_PARAMETERS结构。 uEncapTableOffset 的值必须在 4 字节边界上对齐。
微型端口驱动程序将此列表中的每个条目格式化为 DOT11_ENCAP_ENTRY 结构。
有关 EtherType 封装列表的详细信息,请参阅 802.11 有效负载封装。
uEncapTableSize
EtherType 封装列表的长度。
MulticastMgmtCipher
NIC 选择的多播加密算法 (协商) , (MFP) 的管理帧保护。 如果谈判了 MFP,则应DOT11_CIPHER_ALGO_BIP该成员。 如果未协商 MFP,则应DOT11_CIPHER_ALGO_NONE此字段。
uAssocComebackTime
当 (重新) 关联失败并出现 802.11 原因代码 30 (“关联请求暂时被拒绝”时,请稍后重试。) 此成员指示接入点 (AP) 请求的关联恢复时间的值。 响应关联请求时,802.11 取消关联原因代码存在于 uStatus 的最低 16 位中。
Windows 的自动连接服务会将 AP 添加到阻止列表,并且至少在指示的恢复时间内不会尝试重新连接。 在开始下一个连接序列之前,NIC 的行为将类似于常规失败的身份验证。 在指示的超时 (恢复) 且连接过程停止后,Windows 可能会找到更好的备用连接或恢复到此连接。 此成员中设置的此值应使用 802.11 规范中定义的时间单位。 例如,TU。
注解
如果满足以下任一条件,微型端口驱动程序必须将 uEncapTableOffset 和 uEncapTableSize 成员设置为零:
- BSS 关联不需要更改操作系统的默认 EtherType 封装列表。
- uStatus 成员未设置为 DOT11_ASSOCIATION_STATUS_SUCCESS。
- extensible Station (ExtSTA) dot11DesiredBSSType 管理信息库 (MIB) 对象设置为 dot11_BSS_type_independent。
有关 IEEE 802.11 dot11DesiredBSSType MIB 对象的详细信息,请参阅 OID_DOT11_DESIRED_BSS_TYPE。
有关关联操作的详细信息,请参阅 关联操作。
当接入点 (AP) 并且 STA 在 (重新) 关联过程 (期间,在各自的 RSN IE 中将“支持管理帧保护 (MFPC) 字段设置为 1 时,会协商管理帧保护。 AP 和 (的信标或探测响应重新) STA) 关联请求,双方确认在 4 向握手 (消息中”支持管理帧保护“位设置为 1802.11i 4 向握手) 的 M2 和 M3。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 Windows 8 及更高版本的 Windows 操作系统中可用。 |
标头 | windot11.h (包括 Ndis.h) |