WDDM显卡驱动
+ -

WDDM 与XDDM开发的区别

2021-06-30 648 0

和XDDM驱动开发一样,在新的WDDM驱动模型架构下,需要编写与之适配的Mini小端口驱动。

和XDDM驱动不一致的是,WDDM的显示驱动运行于应用层,并且其不使用GDI引擎,而是使用的是Direct3D 运行时库和DirectX图形内核子系统(Dxgkrnl.sys).

WDDM与XDDM开发的区别主要开发区别表现在以下几个方面:

  • DriverEntry函数中初始化的不同。WDDM中使用DRIVER_INITIALIZATION_DATA结构体初始化 DxgkInitialize 函数。。

    XDDM使用VIDEO_HW_INITIALIZATION_DATA结构体初始化VideoPortInitialize函数。

  • mini小端口驱动程序通动态加载合适的DirectX图形内核子系统(Dxgkrnl.sys)。mini小端口驱动程序和DirectX图形内核子系统(Dxgkrnl.sys)通过接口相互调用。

  • 在XDMM中,mini小端口驱动程序不再处理大多数的IOCTL请求,而在WDDM中,用户模式的显示驱动通过DirectX运行时库与DirectX图形内核子系统(Dxgkrnl.sys)通讯,而WDDM图形内核子系统又与显示微型端口驱动程序通信。

    注意 以下IOCTL仍然在WDDM中使用,并且display miniport驱动程序必须处理它们:IOCTL_VIDEO_QUERY_COLOR_CAPABILITIES IOCTL_VIDEO_HANDLE_VIDEOPARAMETERS

  • 用户模式显示驱动程序必须实现并导出OpenAdapter函数,该函数将打开图形适配器的实例。用户模式显示驱动程序还必须实现CreateDevice函数,该函数创建处理呈现状态集合的显示设备的表示形式。

  • 用户模式显示驱动程序的CreateResource函数以及显示微型端口驱动程序的dxgkdicreateallocation函数将取代XDDM中的DdCanCreateSurface、DdCreateSurface和D3dCreateSurfaceEx函数。

  • 剩余的用户模式显示驱动程序函数实现了与XDDM的内核模式显示驱动程序相同的功能

0 篇笔记 写笔记

WDDM KMDOD驱动介绍及驱动初始化
KMOD驱动是微软提供的一个Display Only驱动。WDDM KMOD驱动初始化Windows驱动的入口函数是DriverEntry,所以显示Mini小端口驱动程序也不例外。和其它Mini小端口驱动的入口函数实现一致,在其DriverEntry只做一件事,就是分配系统指定的一个结构体,然后......
WDDM 与XDDM开发的区别
XDDM驱动开发一样,在新的WDDM驱动模型架构下,需要编写与之适配的Mini小端口驱动。和XDDM驱动不一致的是,WDDM的显示驱动运行于应用层,并且其不使用GDI引擎,而是使用的是Direct3D 运行时库和DirectX图形内核子系统(Dxgkrnl.sys).WDDM与XDDM开发的区......
作者信息
我爱内核
Windows驱动开发,网站开发
好好学习,天天向上。
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!