IddCxAdapterDisplayConfigUpdate2 函数 (iddcx.h)

远程驱动程序可以调用 IddCxAdapterDisplayConfigUpdate2 ,以允许客户端告诉服务器如何更新监视器配置。

语法

HRESULT IddCxAdapterDisplayConfigUpdate2(
  IDDCX_ADAPTER                              AdapterObject,
  const IDARG_IN_ADAPTERDISPLAYCONFIGUPDATE2 *pInArgs
);

参数

AdapterObject

[in]为其指定显示配置的远程适配器的 IDDCX_ADAPTER 对象。

pInArgs

[in]指向包含函数输入参数 的IDARG_IN_ADAPTERDISPLAYCONFIGUPDATE2 结构的指针。

返回值

IddCxAdapterDisplayConfigUpdate2 在成功时返回STATUS_SUCCESS;否则,它将返回相应的错误代码。

注解

远程间接显示驱动程序可以调用 IddCxAdapterDisplayConfigUpdate2 来设置 OS 应用于特定监视器的模式、色度和其他值。 只有远程驱动程序才能调用此函数。

有关 HDR 支持的详细信息,请参阅 IddCx 版本 1.10 更新

IDDCX_DISPLAYCONFIGPATH2结构的定义方式是,并非所有信息都必须在每次调用中提供。 例如,如果颜色模式不是 HDR 或 WCG,或者 IddCxAdapterDisplayConfigUpdate2 ,则某些路径可能无法提供色法数据,以便仅在不需要更改布局的情况下更新 SDR 白级别。

控制模式 (设置路径 IDDCX_DISPLAYCONFIGPATH2_FLAGS_MODE_VALID 标志) 有一些额外的规则和说明:

  • 如果任何路径已 设置IDDCX_DISPLAYCONFIGPATH2_FLAGS_MODE_VALID ,则提供的所有路径都必须设置它
  • 在所有路径上提供 IDDCX_DISPLAYCONFIGPATH2_FLAGS_MODE_VALID 时,不在路径列表中的任何当前活动路径都将变为非活动状态
  • 如果只设置了非IDDCX_DISPLAYCONFIGPATH2_FLAGS_MODE_VALID 标志,则只需要存在要更新的路径
  • 根据指定的颜色模式,路径可能需要其他数据。 下表指示必须设置哪些其他标志:
颜色模式 IDDCX_DISPLAYCONFIGPATH2_FLAGS_MONITOR_COLORIMETRY_VALID IDDCX_DISPLAYCONFIGPATH2_FLAGS_MONITOR_SDRWHITELEVEL_VALID
SDR
SDRWCG
高动态范围图像

对 IddCxAdapterDisplayConfigUpdate2 的首次调用与后续调用

首次将路径包含在 IddCxAdapterDisplayConfigUpdate2 调用中时,其要求与后续时间不同。 下表概述了这些要求。

路径字段 路径的初始调用中是必需的 可以在初始调用后更新 Windows 客户端如何获取信息
模型 QueryDisplayConfig 将提供客户端显示配置,并在显示配置更改时发送 WM_DISPLAYCHANGE ; AdvancedColorInfo.CurrentAdvancedColorKind 将提供颜色模式
比例因子 驱动程序可以使用用于 IddCxAdapterDisplayConfigUpdate 的方法
物理大小 如果未通过 EDID,则为 “是” 如果传递了 EDID,则不需要
色度 对于非 SDR 颜色模式是 来自相应 AdvancedColorInfo 字段的大多数字段
SDR 白级别 是对于 HDR 颜色模式,默认值为 80 尼特 AdvancedColorInfo.SdrWhiteLevelInNits,请参阅 在 HDR/SDR 显示器上使用高级颜色的 DirectX 了解详细信息

在 Windows 11 版本 22H2 9 月更新上运行时的行为差异

由于基础 OS 功能,在 Windows 11 版本 22H2 9 月更新上运行时对请求 HDR 和 WCG 颜色模式的驱动程序的支持与在 2024 年 Windows 平台版本上运行时略有不同。 驱动程序可以使用 IddCxGetVersion 函数来确定它们在哪个操作系统上运行。 下表描述了驱动程序可以根据以前提供给 OS 的监视器描述符请求哪些颜色模式:

Edid 类型 22H2 9 月更新可能的颜色模式 2024 年平台版本可能的颜色模式
SDR、HDR SDR、SDRWCG、HDR
SDR SDR、SDRWCG SDR、SDRWCG
高动态范围图像 SDR、HDR SDR、SDRWCG、HDR

示例

下面是要包含在后续 IddCxAdapterDisplayConfigUpdate2 调用中的路径的一些示例。 在每个方案开始时,远程会话配置了以下路径:

监视 解决方法 桌面位置 颜色模式
1 1920x1080 @ 30Hz 0,0 SDR
2 1024x768 @ 30Hz 1024,0 SDRWCG
3 3840x2160 @ 30Hz 0,1848 高动态范围图像

方案 1 - 将监视器 3 的桌面位置更改为监视器 1 的左侧

监视 Flags 详细信息
1 IDDCX_DISPLAYCONFIGPATH2_FLAGS_MODE_VALID 当前模式数据没有更改
2 IDDCX_DISPLAYCONFIGPATH2_FLAGS_MODE_VALID 当前模式数据没有更改
3 IDDCX_DISPLAYCONFIGPATH2_FLAGS_MODE_VALID 将桌面位置更改为 -3840,0

方案 2 - 将监视器 2 从 SDRWCG 更改为 SDR

监视 Flags 详细信息
1 IDDCX_DISPLAYCONFIGPATH2_FLAGS_MODE_VALID 当前模式数据没有更改
2 IDDCX_DISPLAYCONFIGPATH2_FLAGS_MODE_VALID 设置新的颜色模式
3 IDDCX_DISPLAYCONFIGPATH2_FLAGS_MODE_VALID 当前模式数据没有更改

方案 3 - 将监视器 1 从 SDR 更改为 HDR

监视 Flags 详细信息
1 IDDCX_DISPLAYCONFIGPATH2_FLAGS_MODE_VALID、IDDCX_DISPLAYCONFIGPATH2_FLAGS_MONITOR_COLORIMETRY_VALID、IDDCX_DISPLAYCONFIGPATH2_FLAGS_MONITOR_SDRWHITELEVEL_VALID 设置新的颜色模式、色度和 SDR 白色级别
2 IDDCX_DISPLAYCONFIGPATH2_FLAGS_MODE_VALID 当前模式数据没有更改
3 IDDCX_DISPLAYCONFIGPATH2_FLAGS_MODE_VALID 当前模式数据没有更改

方案 4 - 更改监视器 2 的规模因子

监视 Flags 详细信息
2 IDDCX_DISPLAYCONFIGPATH2_FLAGS_MONITOR_SCALE_FACTOR_VALID 设置新的比例系数

方案 5 - 将监视器 2 的比例系数和监视器 3 的桌面位置更改为监视器 1 的左

监视 Flags 详细信息
1 IDDCX_DISPLAYCONFIGPATH2_FLAGS_MODE_VALID 当前模式数据没有更改
2 IDDCX_DISPLAYCONFIGPATH2_FLAGS_MODE_VALID、IDDCX_DISPLAYCONFIGPATH2_FLAGS_MONITOR_SCALE_FACTOR_VALID 不更改当前模式数据,请设置新的比例系数
3 IDDCX_DISPLAYCONFIGPATH2_FLAGS_MODE_VALID 将桌面位置更改为 -3840,0

方案 6 - 从当前配置中删除 Monitor 2

监视 Flags 详细信息
1 IDDCX_DISPLAYCONFIGPATH2_FLAGS_MODE_VALID 当前模式数据没有更改
3 IDDCX_DISPLAYCONFIGPATH2_FLAGS_MODE_VALID 当前模式数据没有更改

要求

要求
最低受支持的客户端 Windows 11,版本 22H2 9 月更新 (IddCx 版本 1.10)
标头 iddcx.h

另请参阅

IDARG_IN_ADAPTERDISPLAYCONFIGUPDATE2