Windows 图形显示驱动开发-查询 WDDM(3.2) 功能支持和启用

查询 Windows 显示驱动程序模型 (WDDM) 功能的支持和启用。 其中介绍了:

用户模式和内核模式显示驱动程序(UMD 和 KMD)如何查询 OS,以确定 WDDM 功能在系统上是否受支持和已启用。

OS 如何确定驱动程序是否支持特定的 WDDM 功能。
从 Windows 11 版本 24H2 (WDDM 3.2) 开始引入此功能查询机制。

WDDM 功能概述

可以将 WDDM 视为功能集合,其中一项功能是涵盖某些功能的 WDDM API/DDI 的集合。

功能由功能 ID 标识,它由类别 ID 和类别中功能本身的子 ID 组成。

OS 已知的每个功能都有关联的状态信息,用于确定该功能在系统上是否受支持和/或已启用。 某些功能可以是驱动程序功能。 驱动程序功能需要启用驱动程序的某个级别的支持。 Dxgkrnl 提供握手机制来确定功能配置。 注册表项可以基于每个功能、每个适配器覆盖功能配置。

驱动程序功能还可以具有一个功能接口,该接口提供与该功能相关的驱动程序 DDI。 通过支持单个功能接口,我们不再需要依赖更新 OS 和 KMD 之间的主接口,后者以前只能使用更新的 WDDM 版本控制更改进行扩展。 此方法提供了一种更灵活的方式,用于向以前的 OS 或通过 Windows Moment 版本向后移植功能,而无需定义特殊支持。

每个功能都可以包含一个依赖项列表,作为先决条件,这些依赖项也必须受支持。 需要此类依赖项的未来功能将在其文档中指示其所需的依赖项。

功能会进行版本控制,并且每个受支持的版本均可以具有不同的接口或配置。

WDDM 引入了一组 API 来用于查询特定功能状态。 API 包括:

DXGK_FEATURE_INTERFACE:在调用 DxgkDdiStartDevice 后,KMD 可以查询并使用此接口来确定特定功能在系统中是否受支持和已启用。
此机制取代了以下现有 DDI:
DxgkCbIsFeatureEnabled
DxgkCbQueryFeatureSupport

DXGKDDI_FEATURE_INTERFACE:此机制允许 OS 从 KMD 查询功能接口。
DxgkIsFeatureEnabled2此函数是系统提供的 displib 库中的入口点。
KMD 可以从其 DriverEntry 例程调用 DxgkIsFeatureEnabled2,而无需初始化 Dxgkrnl 来确定系统是否启用了特定功能。

D3DKMTIsFeatureEnabled:此用户模式 API 允许用户模式模块确定是否启用了特定功能。
加载显示微型端口驱动程序时,WDDM 端口驱动程序会查询所有依赖于驱动程序支持的功能。

驱动程序可以在加载时查询 WDDM 端口驱动程序,以便获取受支持的功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/973594.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

matlab 车辆进出检测算法设计GUI界面-论文

1、内容简介 matlab151-车辆进出检测算法设计GUI界面-论文 可以交流、咨询、答疑 2、内容说明 略 随着科学技术的进步,社会的发展,各行各业都在发生着巨大的变化。近段时间以来,“无人化”智能产业正处于一个风口阶段,似乎我们…

python学习书籍推荐

### Python 学习路线图概述 为了有效地掌握Python这门编程语言并应用于不同领域,构建一个合理的学习路径至关重要。此学习路径不仅涵盖了基础语法,还深入到特定应用方向的关键技术。 #### 基础阶段 在这个初始阶段,重点在于理解Python的基…

基于Spring Boot的农事管理系统设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…

在 Ansys Motion 中创建链式伸缩臂的分步指南

介绍 链传动在负载和/或运动要远距离传递的机器中非常多产,例如,在两个平行轴之间。链条驱动系统的设计需要了解载荷传递和运动学如何影响链条张力、轴轴承中的悬臂载荷、轴应力和运动质量等。使用 Ansys Motion,可以轻松回答上述所有问题以…

Web Scraper,强大的浏览器爬虫插件!

Web Scraper是一款功能丰富的浏览器扩展爬虫工具,有着直观的图形界面,无需编写代码即可自定义数据抓取规则,高效地从网页中提取结构化数据,而且它支持灵活的数据导出选项,广泛应用于电商监控、内容聚合、市场调研等多元…

数据结构:栈和队列详解(下)

目录 一.如何用队列实现栈 1.思路: 2.具体代码: 二.如何用栈实现队列 1.思路: 2.具体代码: 一.如何用队列实现栈 原题来源:https://leetcode.cn/problems/implement-stack-using-queues/description/ 前言&#xf…

DeepSeek智能测试知识库助手PRO版:多格式支持+性能优化

前言 测试工程师在管理测试资产时,需要面对多种文档格式、大量文件分类及知识库的构建任务。为了解决这些问题,我们升级了 DeepSeek智能测试知识库助手,不仅支持更多文档格式,还加入了 多线程并发处理 和 可扩展格式支持,大幅提升处理性能和灵活性。 主要功能亮点: 多格…

宝塔面板开始ssl后,使用域名访问不了后台管理

宝塔面板后台开启ssl访问后,用的证书是其他第三方颁发的证书 再使用 域名/xxx 的形式:https://域名:xxx/xxx 访问后台,结果出现如下,不管使用 http 还是 https 的路径访问都进不后台管理 这个时候可以使用 https://ip/xxx 的方式来…

机器学习_12 逻辑回归知识点总结

逻辑回归是机器学习中一种重要的分类算法,广泛应用于二分类和多分类问题。它不仅能够预测分类结果,还能提供每个类别的概率估计。今天,我们就来深入探讨逻辑回归的原理、实现和应用。 一、逻辑回归的基本概念 1.1 逻辑回归与线性回归的区别…

AI Agent实战:打造京东广告主的超级助手 | 京东零售技术实践

前言 自2022年末ChatGPT的问世,大语言模型(LLM)技术引发全球关注。在大模型技术落地的最佳实践中,智能体(Agent)架构显现出巨大潜力,成为业界的普遍共识,各大公司也纷纷启动Agent技…

【工具篇】【深度解析 DeepAI 工具:开启 AI 应用新体验】

一、DeepAI 基本信息 嘿,咱先来说说 DeepAI 这工具到底是啥。DeepAI 是一个综合性的人工智能平台,就像是一个装满各种 AI 魔法的百宝箱。它把好多先进的人工智能技术整合到一起,让咱们普通人也能轻松用上这些高大上的 AI 功能。 这个平台背后有一群超厉害的技术人员,他们…

C语言之typedef

目录 前言 一、基本数据类型定义 二、作用 自带阅读 封装复杂类型的描述过程 三、指针类型定义 ​ 四、函数类型定义 总结 前言 typedef是C语言中用来为已有数据类型取别名的关键字。通过使用typedef关键字,可以方便地为数据类型定义新的名称,提高代码的…

如何在 SpringBoot 项目使用 Redis 的 Pipeline 功能

本文是博主在批量存储聊天中用户状态和登陆信息到 Redis 缓存中时,使用到了 Pipeline 功能,并对此做出了整理。 一、Redis Pipeline 是什么 Redis 的 Pipeline 功能可以显著提升 Redis 操作的性能,性能提升的原因在于可以批量执行命令。当我…

【HBase】HBaseJMX 接口监控信息实现钉钉告警

目录 一、JMX 简介 二、JMX监控信息钉钉告警实现 一、JMX 简介 官网:Apache HBase ™ Reference Guide JMX (Java管理扩展)提供了内置的工具,使您能够监视和管理Java VM。要启用远程系统的监视和管理,需要在启动Java…

鸿蒙开发环境搭建-入门篇

本文章讲述如何搭建鸿蒙应用开发环境:新建工程、虚拟机运行、真机调试等。 开发工具: DevEco Studio 5.0.3.906 os系统: mac 参考文档:https://juejin.cn/post/7356143704699699227 官网鸿蒙应用开发学习文档:https://developer.huawei.com/c…

[OD E 100] 生成哈夫曼树

题目 题目描述 给定长度为 n 的无序的数字数组,每个数字代表二叉树的叶子节点的权值,数字数组的值均大于等于 1 。请完成一个函数,根据输入的数字数组,生成哈夫曼树,并将哈夫曼树按照中序遍历输出。 为了保证输出的二…

Linux-ubuntu系统移植之Uboot启动流程

Linux-ubuntu系统移植之Uboot启动流程 一,Uboot启动流程1.Uboot的两阶段1.1.第一阶段1.11.硬件初始化1.12.复制 U-Boot 到 RAM1.13.跳转到第二阶段 1.2.第二阶段1.21.C 语言环境初始化1.22. 硬件设备初始化1.23. 加载环境变量1.24. 显示启动信息1.25. 等待用户输入&…

ElasticSearch公共方法封装

业务场景 1、RestClientBuilder初始化(同时支持单机与集群) 2、发送ES查询请求公共方法封装(支持sql、kql、代理访问、集群访问、鉴权支持) 3、判断ES索引是否存在(/_cat/indices/${indexName}) 4、判断ES…

vertical-align

属性名: vertical - align 。 作用:用于指定 同一行元素之间 ,或 表格单元格 内文字的 垂直对齐方式 。 常用值: 1. baseline (默认值):使元素的基线与父元素的基线对齐。 2. top …

Markdown 与富文本语法对照全解析

原文:Markdown 与富文本语法对照全解析 | w3cschool笔记 Markdown 和富文本是两种广泛应用的文本格式。Markdown 以简洁易读的语法著称,而富文本则凭借其丰富的样式和强大的功能深受用户喜爱。本文将对 Markdown 和富文本的语法进行详细对照&#xff0c…