802.11 WLAN 适配器抵达
当操作系统检测到安装了 IHV 扩展 DLL 的无线 LAN (WLAN) 适配器时,操作系统将调用 Dot11ExtIhvInitAdapter IHV 处理程序函数。 每当 WLAN 适配器可用并启用以供使用时(例如插入 PCMCIA 适配器时),操作系统就会调用此函数。
调用 Dot11ExtIhvInitAdapter 函数时,IHV 扩展 DLL 执行以下操作:
为 WLAN 适配器上下文数据以及 DLL 为 WLAN 适配器所需的任何资源分配数组。
为 IHV 扩展 DLL 接收和使用的安全数据包注册 IEEE EtherType 列表。
使用 IHV 定义的任何专有设置配置适配器。
调用 Dot11ExtIhvInitAdapter 时,IHV 扩展 DLL 必须遵循这些准则。
hDot11SvcHandle 参数包含由操作系统为 WLAN 适配器分配的唯一句柄值。 IHV 扩展 DLL 必须保存此句柄值,并将其传递给与特定于适配器的处理相关的 IHV 扩展性函数的 hDot11SvcHandle 参数,例如 Dot11ExtSetKeyMappingKey。
通常,DLL 将此句柄值保存在其 WLAN 适配器上下文数组的成员中。
IHV 扩展 DLL 必须通过 phIhvExtAdapter 参数返回 WLAN 适配器的唯一句柄值。 操作系统将句柄值传递给与适配器特定处理相关的 IHV 处理程序函数的 hIhvExtAdapter 参数,例如 Dot11ExtIhvReceiveIndication。
通常,DLL 将 WLAN 适配器上下文数组的地址作为句柄值返回。
IHV 扩展 DLL 调用 Dot11ExtSetEtherTypeHandling 为 DLL 将接收的安全数据包注册 IEEE EtherType 列表。 IHV 扩展 DLL 还可以指定将从有效负载解密中排除的 EtherType 列表。 有关注册 EtherType 的详细信息,请参阅 IEEE EtherType 处理。
注册 EtherTypes 后,操作系统会为其 EtherType 与列表中的条目匹配的每个数据包调用 Dot11ExtIhvReceivePacket IHV 处理程序函数。
操作系统通过本机 802.11 对象标识符 (OID) 设置请求,使用标准 802.11 参数配置适配器。 有关这些 OID 的详细信息,请参阅 本机 802.11 无线 LAN OID。
但是,DLL 可以通过调用 Dot11ExtNicSpecificExtension 函数,使用专有参数配置适配器。 通过此函数调用,DLL 可以直接与本机 802.11 微型端口驱动程序通信,该驱动程序管理 WLAN 适配器,并根据 IHV 定义的专有格式向驱动程序发出查询或设置请求。
有关 DLL 和 WLAN 适配器通信所通过的接口的详细信息,请参阅 802.11 WLAN 适配器信道。