生成 IddCx 1.4 驱动程序

由于 IddCx 1.3 中针对Windows 10版本 1809 进行了更改,因此基于 IddCx v1.4 构建的 IDD) 间接显示 (驱动程序可以使用运行时检查在 Windows 10 版本 1809 上运行,以验证 IddCx 1.4 中的 DDI 更改是否在该系统上可用。 有关详细信息 ,请参阅生成适用于多个 Windows 版本的 WDF 驱动程序

从 IddCx 1.4 开始,可以通过执行以下操作生成 IddCx 驱动程序,以在 Windows 10 版本 1803 及更高版本上安装。 注意:此驱动程序不会在 Windows 10 版本 1607 到 1709 上加载。

  • 使用 Windows 驱动程序工具包 中的 IddCx 1.4 标头和库 (WDK) 生成和链接驱动程序。
  • 在生成环境中将IDDCX_MINIMUM_VERSION_REQUIRED设置为 3。 这会告知 OS 生成驱动程序的最低 IddCx 版本,在本例中为 1.3。
  • 初始化 IddCx 结构时,请使用相应的 XXX_INIT 宏。 例如,使用 IDD_CX_CLIENT_CONFIG_INIT () 宏初始化IDD_CX_CLIENT_CONFIG结构。 宏使用运行时代码将“大小”字段设置为运行驱动程序的 IddCx 版本的正确大小。
  • 使用 IDD_IS_FIELD_AVAILABLE () 宏确定从 IddCx 传递到驱动程序的结构是否定义了该字段。 注意:IddCx 1.4 没有将从 IddCx 传递到驱动程序的任何现有结构扩展,因此无需在 IddCx 1.4 中使用此宏。
  • 使用 IDD_IS_FUNCTION_AVAILABLE () 宏确定给定 IddCx 函数在运行驱动程序的 OS 上是否可用。 例如,使用 IDD_IS_FUNCTION_AVAILABLE (IddCxAdapterSetRenderAdapter) 确定 IddCxAdapterSetRenderAdapter () 是否支持此 OS。

下表汇总了不同 OS 版本支持的 IddCx 版本。

OS 版本。 OS 附带的 IddCx 版本 可以运行的驱动程序的 IddCx 版本
1607 (RS1) 1.0 1.0
1703 (RS2) 1.0 1.0
1709 (RS3) 1.2 1.0 和 1.2
1803 (RS4) 1.3 1.0-1.3 和 1.4 高于 (*)
1809 (RS5) 1.3 1.0-1.3 和 1.4 高于 (*)
1903 (19H1) 1.4 1.0-1.3 和 1.4 高于 (*)
1909 (19H2) 1.4 1.0-1.3 和 1.4 高于 (*)
2004 (20H1) 1.4 1.0-1.3 和 1.4 高于 (*)
不可用 1.6 1.0-1.3 和 1.4 高于 (*)

* IddCx 1.4 及更高版本 IDD 需要使用动态宏(例如 IDD_IS_FUNCTION_AVAILABLE () ),以便在运行时确定它可以调用的 OS 功能。 这些动态宏在 iddcx.h 中定义。

若要支持所有可能的 Windows 版本,

  • 为 Windows 10 版本 1607 到 1709 编写 IddCx 1.0 驱动程序。
  • 为 Windows 10版本 1803 及更高版本编写单个 IddCx 1.4 或更高版本驱动程序。