为多个 Windows 版本生成 WiFiCx 驱动程序

WiFiCx 允许生成一次驱动程序,并在多个 Windows 版本上使用生成的二进制文件。 驱动程序既可在未来版本的 Windows 上运行,也可在过去的版本(可追溯到 Windows 11 的 21H2 版)上运行。

要在较旧版本的 Windows 上运行驱动程序,必须:

  1. 指定所需的最低版本。
  2. 在调用 API 或访问可能存在或不存在的结构或字段之前,执行运行时检查。

注意:此功能为可选。 仅应为使用最新 WiFiCx 功能的驱动程序启用它,而在没有最新 WiFiCx 功能的早期版本的 Windows 上仍可加载。

WiFiCx 版本概述

操作系统 KMDF 版本 支持的 NetAdapterCx 版本 支持的 WiFiCx 版本
Windows 11 版本 21H2 和 22H2 1.33 2.2 支持 WiFiCx 1.0
从 Windows 11 Insider Preview 内部版本 25330 开始 1.33 2.2+ 支持 WiFiCx 1.0、WiFiCx 1.1、WiFiCx 1.2

指定所需的最低版本

IHV 可以选择控制 WIFI_MINIMUM_VERSION_REQUIRED。 例如,要使用 WiFiCx 1.0 运行 WiFiCx 1.1 或 1.2 版本驱动程序,请将 WIFI_MINIMUM_VERSION_REQUIRED 设置为 0

C_DEFINES=$(C_DEFINES) -DRPC_NO_WINDOWS_H -DWIFI_MINIMUM_VERSION_REQUIRED=0

检查功能是否存在

在每次使用 API、结构或成员(可能存在也可能不存在)之前,必须调用以下宏之一。 它们在 WifiFuncEnum.h 中定义。

BOOLEAN
WIFI_IS_FUNCTION_AVAILABLE (
    FunctionName
    );

BOOLEAN
WIFI_IS_STRUCTURE_AVAILABLE (
    StructName
    );

BOOLEAN
WIFI_IS_FIELD_AVAILABLE (
    StructName,
    FieldName
    );

NetAdapterCx 版本依赖项

  1. 要在 Windows 11 版本 21H2 和 22H2 上加载基于 WiFiCx 的驱动程序,NetAdapterCx 版本必须强制为 2.2
  2. 要在 Windows 11 22H2、Moment 3 及更高版本上加载基于 WiFiCx 的驱动程序,NetAdapterCx 版本必须强制为 2.2+(或使用最新版本)。