DOT11_ASSOCIATION_COMPLETION_PARAMETERS结构(windot11.h)

重要

WiFiCx 是 Windows 11 中发布的新 Wi-Fi 驱动程序模型。 建议使用 WiFiCx 来利用最新功能。 WDI 驱动程序模型现在处于维护模式,并且仅接收高优先级修补程序。

DOT11_ASSOCIATION_COMPLETION_PARAMETERS结构指定由具有接入点(AP)或对等站的 802.11 工作站执行的关联作的结果。 当微型端口驱动程序发出 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 结构。

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

类型

此成员必须设置为NDIS_OBJECT_TYPE_DEFAULT。

校订

此成员必须设置为DOT11_ASSOCIATION_COMPLETION_PARAMETERS_REVISION_1。

大小

此成员必须设置为 sizeof(DOT11_ASSOCIATION_COMPLETION_PARAMETERS)

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

MacAddr

802.11 工作站尝试连接到的独立 BSS(IBSS)网络的接入点(AP)或对等站(适用于独立 BSS(IBSS)网络的媒体访问控制(MAC)地址。

uStatus

关联作的完成状态,由为 DOT11_ASSOC_STATUS定义的值指定。

bReAssocReq

一个布尔值,该值指示 802.11 工作站是否向 AP 发送了 802.11 关联帧或重新关联帧。 如果 TRUE,则 802.11 工作站向 AP 发送了 801.11 重新关联请求帧。 如果 FALSE,则 802.11 工作站向美联社发送了 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 关联请求帧(如果 bReAssocReqFALSE)或重新关联请求帧(如果 bReAssocReqTRUE),则发送到 AP。微型端口驱动程序必须返回一个 802.11 探测请求帧,该帧由关联发起程序发送,或由驱动程序根据关联作期间交换的信息创建。
  • 如果 dot11DesiredBSSType MIB 对象设置为dot11_BSS_type_independent,微型端口驱动程序必须将 uAssocReqOffset 成员设置为零。

微型端口驱动程序必须将 uAssocReqOffsetuAssocReqSize 成员设置为零(如果它在关联作期间无法发送请求帧)。 例如,如果 AP 未能通过 802.11 工作站发送的 802.11 身份验证帧,则微型端口驱动程序必须将 uAssocReqOffsetuAssocReqSize 设置为零。

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 ),或者重新关联响应帧(如果 bReAssocReqFALSE),则从 AP 接收。 微型端口驱动程序必须返回一个 802.11 探测响应帧,该帧要么发送到关联发起程序,要么根据关联作期间交换的信息由驱动程序创建。

  • 如果 dot11DesiredBSSType MIB 对象设置为dot11_BSS_type_independent,微型端口驱动程序必须将 uAssocRespOffset 成员设置为零。

  • 微型端口驱动程序必须将 uAssocRespOffsetuAssocRespSize 成员设置为零(如果在关联作期间未收到响应帧)。

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 或对等站解析的多播密码算法。 有关 MulticastCipher 成员的数据类型的详细信息,请参阅 DOT11_CIPHER_ALGORITHM

如果 uStatus 未设置为 DOT11_ASSOCIATION_STATUS_SUCCESS,微型端口驱动程序必须将此成员设置为零。

uActivePhyListOffset

802.11 工作站用于在 BSS 网络连接上发送或接收数据包的 PHY 标识符列表(ID)的偏移量。

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 uActivePhyListOffset ,并将 uActivePhyListSize 成员设置为零。

uActivePhyListSize

活动 PHY 列表的长度。 uActivePhyListSize 成员必须是 sizeof(ULONG)的倍数。

bFourAddressSupported

一个布尔值,如果设置为 TRUE,则指定 802.11 工作站与支持 BSS 网络任何工作站(包括移动工作站和 IP)上 ISO 第 2 层桥接的分发点系统(DS)服务的 AP 相关联。 此支持的确定特定于 IHV 的实现。

微型端口驱动程序必须将 bFourAddressSupported 成员设置为 FALSE(如果存在以下任一情况):

  • IEEE 802.11 dot11DesiredBSSType 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。

有关端口授权的详细信息,请参阅 Port-Based 网络访问

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

当(re)关联失败并出现 802.11 原因代码 30 时(“关联请求暂时被拒绝,请稍后重试”。)此成员表示接入点(AP)请求的关联复出时间的值。 响应关联请求时,802.11 取消关联原因代码存在于最低 16 位的 uStatus 中。

Windows 的自动连接服务会将 AP 添加到阻止列表中,并且不会尝试重新连接至少指示的复出时间。 NIC 的行为类似于常规失败的身份验证,直到下一个连接序列开始。 在指示的超时(复出)过后,连接进程停止后,Windows 可能会找到更好的备用连接或恢复到此连接。 此成员中设置的此值应使用 802.11 规范中定义的时间单位。 例如,TU。

言论

微型端口驱动程序必须将 uEncapTableOffsetuEncapTableSize 成员设置为零(如果存在以下任一情况):

  • 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 IDE(re)关联过程中(即,将管理帧保护功能(MFPC)字段设置为 1 时,会协商管理帧保护 AP 的信标或探测响应和(re)关联请求 STA),双方确认管理帧保护能力位设置为 1 在 4 向握手(802.11i 4 向握手的消息 M2 和 M3)。

要求

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

另请参阅

DOT11_ENCAP_ENTRY

DOT11_ASSOC_STATUS

NdisMIndicateStatusEx

DOT11_AUTH_ALGORITHM

OID_DOT11_ACTIVE_PHY_LIST

DOT11_CIPHER_ALGORITHM

DOT11_MAC_ADDRESS

OID_DOT11_DESIRED_PHY_LIST

OID_DOT11_DESIRED_BSS_TYPE

NDIS_STATUS_DOT11_ASSOCIATION_COMPLETION

NDIS_OBJECT_HEADER