由于 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 或更高版本驱动程序。