第十七篇:实例分析(1)–初探WDDM驱动学习笔记(八)

第十七篇:实例分析(1)–初探WDDM驱动学习笔记(八)

大家好,又见面了,我是全栈君。

第四篇(VidPN)中提到过MIRROR驱动.

在进入本篇的实际内容前, 带着好奇心, 想请教CSDN中的显卡驱动方面的大虾, 怎样才干把这个驱动玩起来, 这个驱动的作用是什么,等等, 敬请不吝赐教.

显卡的公司眼下有两家, A与N(嵌入式方面的, 听到过一些, 比方ARM的MALI, 不太清楚). 不论什么一家半导体公司, 其主要内容还是硬件的设计, 软件层面上来讲, 就可大可小了, 但不可否认, 半导体公司对软件的需求与要求, 也越来越多, 越来越高.

近期几天我对显卡以及相关方面的了解, 上层的应用程序, OpenGL, DirectX, 再到用户模式下的UMD, 与内核层的KMD miniport driver, 不论什么一个方面,都是显卡, 显示应用的一个慷慨向, 要深入不论什么一个方面,都须要时间与精力及努力.

前面7篇都是一些基础的知识, 也是我在曾经写AVSTREAM/BDA过程中,没有遇到过的, 特别是VidPN的概念.

光看文档, 是不可能有长进的, 做实际的项目, 带着问题去看文档, 看代码, 调试, 打印, … 一系列的实践才干把别人的东西消化为自己的东西,  才干渐渐地理解深入, 最后, 提出自己的意见与观点, 提出改进的方法.

这次, 我带着一个实际问题在网上搜显卡驱动的Windows驱动样例代码.

Mirror没有搞明确, 后来, 找到了

Kernel mode display-only miniport driver (KMDOD) sample

http://code.msdn.microsoft.com/Kernel-mode-display-only-49adea58

从微软对这个样例的描写叙述来讲, 这个驱动实现了一个display-only 显卡驱动.

我的一贯作风, 就是先拿这个驱动的.sys文件, 在实际的系统上试一下,看看究竟有什么作用, 效果, 然后再伴随着实际须要解决的问题,去看代码,改代码.

从2006年開始Windows驱动编程, 那时候很easy,安装了DDK, WDK, 就能对代码进行编译, 如今不行了, 非得VS与WDK才干编译驱动程序了(当初为了在USB驱动中增加bulk stream的支持,也是这样, 下VS, 下WDK, 搞得很累, 主要原因,就是WDK不再带有编译, 链接的工具链了).

没办法, 仅仅能下一个免费的vs express 2013, 一个WDK 8.1 Update. 对样例编译出.sys, .inf, .cat.

令人头痛的是, 这个驱动仅仅能执行在 WDDM 1.2的环境下, 而我的WIN8 为

Win8 pro build 9200

在设备管理器中, 看到显卡安装的驱动为WDDM 1.1框架的: 例如以下:


intel(r) q45/q43 express chipse

依据代码的相关描写叙述, 在这个WIN8系统上, 我是不可能看到这个驱动的执行 情况了:

If the current display driver is not a WDDM 1.2 compliant driver, the sample driver might fail to install, with error code 43 displayed. The KMDOD driver is actually installed, but it cannot be started. The workaround for this issue is to switch to the Microsoft Basic Display Adapter Driver before installing the KMDOD sample driver, or simply to reboot your system after installing the KMDOD sample.

所以, 实践环境就此被实际原因给阻挡了.

大家有兴趣, 能够參考下这两篇内容, 我将在下一篇, 把代码分析呈现给大家:

http://www.yiiyee.cn/Blog/wddm1/

http://www.yiiyee.cn/Blog/wddm2/

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116322.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • oncontextmenu属性_360兼容模式

    oncontextmenu属性_360兼容模式公司的网站内容都是一些专业性很强的内容,而且内容都是花钱买来的,所以不想让别人轻而易举的复制过去,就尝试使用js控制一下,但是找了很多js代码,都是不支持firefox,如下取消选取、防止复制ie支持firefox不支持oncontextmenu="window.event.returnValue=false"ie支持firefox出错window.event…

    2022年8月14日
    10
  • 2021年最好用&完全免费的图片压缩网站、软件推荐(包括GIF)

    2021年最好用&完全免费的图片压缩网站、软件推荐(包括GIF)最近我有遇到一个很奇怪的问题因为我不是转用AppleMusic本地化听歌了????所以很多歌的歌曲信息都是我自己补充的,当然也包括封面但我在用iTunes把歌传到iPhone上来听的时候,有首歌的封面怎么都同步不过来我来回同步了几遍,还重新连接了几次,甚至换回了有线来同步,这个封面始终都还是同步不上…我就一直奇了怪了直到我想重新编辑一下封面,重新添加,我才发现…好家伙,一张封面竟然有18M!?比我MP3本身都要大了,难怪我添加不上呢完全被它小小的外表给欺骗了我后来把图片

    2022年6月18日
    27
  • 最优化——单纯形法,单纯形表的求取

    最优化——单纯形法,单纯形表的求取最优化 单纯形法一般性线性规划标准型为对象总结其基本步骤 max z nbsp s t nbsp P1x1 P2x2 Pnxn b 1 c1x1 c2x2 cnxn z 2 xj 0 1 j n begin array ll max amp z text s t amp P 1 x 1 P 2 x 2 cdots P n x n vec b 1 amp c 1 x 1 c 2 x 2

    2025年10月11日
    4
  • 腾讯课堂视频下载_电脑腾讯会议不支持虚拟背景

    腾讯课堂视频下载_电脑腾讯会议不支持虚拟背景如果想把腾讯课堂里的视频下载到本地,这里提供一个方法。原理就是通过提取网页中的视频链接,进行下载。提取网页中的视频链接方法有很多。这里介绍通过浏览器插件的方式。1.我是在firefox附加组件里搜索“视频下载”找到的一款插件。flashvideodownloader,安装即可2.打开腾讯课堂网页版,播放想要下载的视频。浏览器会缓存你播放的视频,一般是5分钟一个。3.打开浏览器插件,它就会显示…

    2025年8月15日
    6
  • ChromeDriver与Chrome版本对应参照表及ChromeDriver下载链接[通俗易懂]

    ChromeDriver与Chrome版本对应参照表及ChromeDriver下载链接[通俗易懂]ChromeDriverVersionChromeVersion74.0.3729.67473.0.3683.687372.0.3626.69722.4671-732.4671-732.4570-722.4469-712.4369-712.4268-702.4167-692.4066-68…

    2022年5月23日
    43
  • 51单片机最小系统的检查

    51单片机最小系统的检查以STC89C52为例(洞洞板、蚀刻板都要检查,工厂打板部分步骤可省略)准备:万用表(调至电压档),单片机最小系统(需供电)1.测量单片机供电是否正常51单片机的P20脚为GND,P40脚为VCC,红表笔接VCC,黑表笔接地:如果结果不为5V(2.6V或者其他),考虑是电源的问题。1.1首先检查电源线,红表笔接正极,黑表笔接负极,显示为5V左右,电源线正常。考虑是电路板的问题1.2将电压表调至通断档(红黑表笔短接电压表鸣叫)。首先检查GND连接是否…

    2022年6月23日
    31

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号