windows显示驱动开发-用于连接和配置的接口(二)

路径优先顺序

SetDisplayConfig CCD 函数确定按 pathArray 参数指定的路径数组中的活动路径进行排序,以便 SetDisplayConfig 为较低的数组路径元素提供更高的优先级。 以下项会影响排序:

如果 SetDisplayConfig 找不到现有的显示配置, 则 SetDisplayConfig 在搜索顺序的最佳模式逻辑中使用路径优先级。 因此,SetDisplayConfig 更可能在本机分辨率下满足高优先级的路径,而非低优先级路径。

在克隆路径中,优先级最高的路径是计划翻转的路径。 因此,优先级较低的路径可能会发生轻微的撕裂现象。

DirectX 图形内核子系统利用路径优先级(连同 GDI 主视图)来派生路径重要性值,并将该值传递给显示微型端口驱动程序调用中的 D3DKMDT_VIDPN_PRESENT_PATH 结构的 ImportanceOrdinal 成员。 路径重要性值会影响驱动程序决策,例如驱动程序应在资源分配中优先选择的路径。 例如,低序号路径可能能够更好地访问叠加层或更高质量的控制器。

QueryDisplayConfig CCD 函数始终按优先级顺序返回路径。 如果在 QueryDisplayConfig 的 Flags 参数中设置了QDC_ALL_PATHS标志,QueryDisplayConfig 将返回 pPathInfoArray 参数指定的路径数组中的所有活动路径组合之后的所有非活动路径组合。

桌面布局

调用方在对 SetDisplayConfig CCD 函数的调用中使用 DISPLAYCONFIG_SOURCE_MODE 结构的 position 成员来控制桌面上源图面的排列。 位置成员指定源图面左上角桌面坐标中的位置。 定位在 (0, 0) 处的源图面被视为主图面。 GDI 具有有关如何在桌面空间中排列源图面的严格规则。 例如,GDI 不允许源图面之间的任何间隙,也不允许在源图面中重叠。

尽管 SetDisplayConfig 尝试重新排列源图面以强制实施这些 GDI 布局规则,但调用方应指定源图面的布局。 未定义 GDI 如何重新排列源图面以强制实施其布局规则,而源图面的结果布局可能不是调用方想要实现的。

模式信息与路径信息之间的关系

连接和配置 (CCD) QueryDisplayConfig 函数始终返回特定显示配置的路径信息以及源模式和目标模式信息。 下图显示了未设置 DISPLAYCONFIG_PATH_SUPPORT_VIRTUAL_MODE 时源和目标模式信息与路径信息的关系的示例;也就是说,当路径不识别虚拟时。 在此示例中,QDC_ALL_PATHS标志在对 QueryDisplayConfig 的调用中传递给 Flags 参数。

从 Windows 10 开始, DISPLAYCONFIG_PATH_INFO、 DISPLAYCONFIG_PATH_SOURCE_INFO和 DISPLAYCONFIG_PATH_TARGET_INFO 结构将更新为支持虚拟感知的路径:

  • DISPLAYCONFIG_PATH_SUPPORT_VIRTUAL_MODE标志已添加为标志值。 设置此标志时,它指示路径支持虚拟模式。
  • 在DISPLAYCONFIG_PATH_SOURCE_INFO中增加了一个联合体。 仅当未设置添加的标志时,才使用 modeInfoIdx 成员。 设置标志时,模式信息位于 cloneGroupId 和 sourceModeInfoIdx 成员中。
  • 向DISPLAYCONFIG_PATH_TARGET_INFO添加了一个联合体。 仅当未设置添加的标志时,才使用 modeInfoIdx 成员。 设置标志后,模式信息位于 desktopModeInfoIdx 和 targetModeInfoIdx 成员中。
相关推荐
2601_9623649711 小时前
不止指纹和人脸:Windows Hello如何重塑PC生物识别安全?
windows·安全·电脑
ι:11 小时前
单相桥式全控整流仿真从零复现教学
windows·学习·matlab·simulink
YCOSA202512 小时前
BUG修复---雨晨 Windows 11 IoT 企业版 LTSC 23H2 终结版 22631.7588
windows·物联网
ayaya_mana13 小时前
Qwen3.5-9B融合DeepSeek-V4-Flash小模型实测与部署
windows·本地大模型·qwen3.5
aramae15 小时前
Python 使用库:标准库与第三方库实战
服务器·开发语言·windows·python
mk01516 小时前
电动自行车汽车工业系统电机驱动100V高压恒定导向芯片进口替代
驱动开发·单片机·硬件工程·智能硬件·pcb工艺
老王的笔记v19 小时前
48期 Windows电脑护眼工具 蓝光过滤定时休息与桌面宠物提醒
windows·电脑
孟郎郎20 小时前
Windows 环境使用 OpenCode 配置使用大模型
人工智能·windows·ai·大模型·开源软件·opencode
云计算练习生20 小时前
什么是内核?操作系统内核到底管哪些事
linux·windows·操作系统·内核·shell
威嵌神州21 小时前
天脉 3 开发环境与 BSP 适配:IDE license、驱动开发、飞腾平台
ide·驱动开发·嵌入式硬件·fpga开发