windows显示驱动开发-CCD DDI的其它技术

用于建议 VidPN 拓扑的系统调用

在运行 Windows 7 的计算机上,显示模式管理器(DMM)通过 CCD 数据库中的 VidPN 历史记录数据确定合适的 VidPN 拓扑。 DMM 不再根据最后已知的良好拓扑来确定 VidPN 拓扑,如同在 Windows Vista 中所做的那样。 因此,在 Windows 7 DMM 上,从不调用 DxgkDdiRecommendVidPnTopology 函数。

在 Windows Vista 及其服务包上,DMM 继续调用 DxgkDdiRecommendVidPnTopology 以请求驱动程序提供建议的功能 VidPN 拓扑。

ACPI 键盘快捷方式逻辑

从 Windows 7 开始,IHV 实现基于 ACPI 的特定于 OEM 的键盘快捷方式。 作系统不知道这些键盘快捷方式。 在 Windows 7 上,OEM 必须使用 CCD 数据库来存储和应用键盘快捷方式,以便作系统和任何 OEM 应用程序相互了解。

对以下函数的调用行为已更改,适用于在 Windows 7 上运行的驱动程序:

DxgkDdiNotifyAcpiEvent 和 DxgkDdiRecommendFunctionalVidPn

如果显示微型端口驱动程序收到对 DxgkDdiNotifyAcpiEvent 函数的调用,并在 AcpiFlags 参数中设置DXGK_ACPI_CHANGE_DISPLAY_MODE标志,DMM 将调用 DxgkDdiRecommendFunctionalVidPn 函数以获取新的 VidPN,并与当前客户端 VidPN 进行比较。 如果两个 VidPN 的拓扑相同,DMM 不会修改新的 VidPN。 否则,DMM 会从 VidPN 中删除模式信息,只保留拓扑,并允许 CCD 数据库确定给定拓扑的模式。 然后,DMM 基于新的 VidPN 设置显示配置。

D3DKMTInvalidateActiveVidPn

Windows Vista 及更高版本支持此函数,用于显示具有版本 < DXGKDDI_INTERFACE_VERSION_WIN7的微型端口驱动程序。 函数行为与 Windows Vista 上的行为相同。

在 Windows 7 及更高版本中,版本 >= DXGKDDI_INTERFACE_VERSION_WIN7 的显示微型端口驱动程序不支持此功能。 如果调用,则返回状态代码STATUS_NOT_SUPPORTED。

查询 VidPN 硬件功能

从 Windows 7 开始,需要显示微型端口驱动程序来报告指定功能 VidPN 的所有硬件功能。 驱动程序应支持以下回调函数及其关联结构:

DxgkDdiQueryVidPnHWCapability 函数

DXGKARG_QUERYVIDPNHWCAPABILITY 结构

D3DKMDT_VIDPN_HW_CAPABILITY 结构

当驱动程序报告硬件功能时,应考虑克隆是作为旋转或缩放转换的一部分完成的隐式过程:必须先克隆源,然后才能进行轮换或缩放。

如果D3DKMDT_VIDPN_HW_CAPABILITY的任何成员对指定的 VidPN 路径没有任何意义,则如果成员设置为非零值,则显示模式管理器 (DMM) 将不会报告任何错误。 DMM 将清除所有此类值,然后再将其报告给用户模式客户端。 但是,驱动程序需要将 D3DKMDT_VIDPN_HW_CAPABILITY 的 Reserved 成员的值设置为 0。

相关推荐
I Am a robert girl7 小时前
打破音频生态壁垒:用 WinAirCast 把 Windows 声音塞进 HomePod
windows·音视频·跨平台开发·音频串流·airplay 2·homepod
Zhou1411368 小时前
SpringMVC_02_注解开发实战
开发语言·windows·python
额额额对了10 小时前
嵌入式 ADC 从入门到实战:基于 i.MX6ULL 的裸机驱动开发
驱动开发·嵌入式硬件·arm
Code Man10 小时前
实现 Android 字符设备驱动
android·驱动开发·lineageos
sukalot10 小时前
Windows 驱动实例分析系列:libwdi 驱动分析 - examples 篇(四)
windows·驱动开发
WangWei_CM10 小时前
Windows 会话、Session 0 与进程 Token 隔离身份
windows
波力海苔夹心脆67510 小时前
C# 海康威视摄像头二次开发入门:HCNetSDK 登录、实时预览、云台控制、录像与抓图(WinForms 实战)
开发语言·windows·经验分享·tcp/ip·c#
爱上网的小舟11 小时前
windows无法启动windows audio服务怎么办?6个步骤排查修复windows audio无法启动
windows
SoStraw11 小时前
跨平台P2P通信SDK,Windows/Android/iOS/Linux/macOS一套API全兼容
android·linux·windows·跨平台·p2p·webrpc
爱写代码的小朋友11 小时前
Windows 下 MSYS2 + MinGW64 安装与使用 OpenCV 全指南(含踩坑记录)
c++·人工智能·windows·opencv