关联前的操作概述
在用户为 BSS) 网络连接 (基本服务集选择配置文件后,操作系统会调用 Dot11ExtIhvPerformPreAssociate 函数来启动预关联操作。 调用此函数时,IHV 扩展 DLL 执行以下操作:
验证连接和安全配置文件的 IHV 定义的扩展。
如果 IHV 扩展 DLL 确定配置文件不正确,它将返回 Winerror.h 中定义的相应错误代码。 在这种情况下,操作系统会通知用户无法使用网络配置文件。
基于连接和安全配置文件的 IHV 定义的扩展启动预关联操作。
启动预关联操作后,必须从对 Dot11ExtIhvPerformPreAssociate 的调用异步完成。
IHV 扩展 DLL 通过调用 Dot11ExtPreAssociateCompletion 完成预关联操作。 在此调用之后,操作系统通过向管理 WLAN 适配器的 Native 802.11 微型端口驱动程序发出 一组OID_DOT11_CONNECT_REQUEST 请求来启动连接操作。
下图显示了预关联操作期间涉及的步骤。
调用 Dot11ExtIhvPerformPreAssociate 时,操作系统通过以下参数将 IHV 定义的扩展传递到连接和安全配置文件。
pIhvProfileParams
此参数传递指向 DOT11EXT_IHV_PROFILE_PARAMS 结构的指针,该结构指定将应用网络配置文件 (BSS) 网络的基本服务集的属性。 例如, DOT11EXT_IHV_PROFILE_PARAMS 结构指定服务集标识符 (SSID) 和 BSS 网络的类型。
pIhvConnProfile
此参数将传递指向包含连接配置文件设置 的DOT11EXT_IHV_CONNECTIVITY_PROFILE 结构的指针。 操作系统仅将扩展传递到 IHV 定义并由用户选择的连接配置文件。
pIhvSecProfile
此参数将传递指向包含安全配置文件设置 的DOT11EXT_IHV_SECURITY_PROFILE 结构的指针。 操作系统仅将扩展传递到由 IHV 定义并由用户选择的安全配置文件。
pConnectableBssid
此参数传递指向 DOT11_BSS_LIST 结构的指针,该结构包含一个或多个 802.11 信标或探测响应帧,用于服务集标识符 (SSID) 的 BSS 网络,DLL 将与之执行预关联操作。
执行预关联操作时,IHV 扩展 DLL 可以执行以下操作:
调用 Dot11ExtNicSpecificExtension 函数以向 Native 802.11 微型端口驱动程序发出网络连接的专有配置请求。
通过 pIhvConnProfile 和 pIhvProfileParams 参数,IHV 扩展 DLL 可以确定用户选择了哪些专有连接设置。
通过 pConnectableBssid 参数,IHV 扩展 DLL 可以确定 BSS 网络的属性,并可以相应地配置专有网络设置。
使用专用身份验证和密码算法配置 WLAN 适配器,以便通过 BSS 网络连接使用。
通过 pszXmlFragmentIhvSecurity 参数,IHV 扩展 DLL 可以确定用户选择了哪些专有安全算法。
可以调用以下 IHV 扩展性函数来设置安全算法。
调用 Dot11ExtSendUIRequest 函数以请求 IHV UI 扩展 DLL 提示用户输入安全参数,例如用户的凭据。
调用 Dot11ExtSetEtherTypeHandling 函数,为 DLL 将接收的安全数据包注册 IEEE EtherType 列表。 注册列表后,操作系统会为其 EtherType 与列表中的条目匹配的每个数据包调用 Dot11ExtIhvReceivePacket IHV 处理程序函数。
IHV 扩展 DLL 还可以指定将从有效负载解密中排除的 EtherType 列表。 有关注册 EtherType 的详细信息,请参阅 IEEE EtherType 处理。
调用 Dot11ExtSetProfileCustomUserData 函数,将特定于用户和当前 BSS 网络配置文件的数据保存在注册表中。
调用 Dot11ExtGetProfileCustomUserData 函数,从特定于用户和当前 BSS 网络配置文件的注册表中检索数据。
有关 IHV 扩展性函数的详细信息,请参阅 Native 802.11 IHV 扩展性函数。
有关 BSS 网络的连接操作的详细信息,请参阅 连接操作。