(19)中华人民共和国国家知识产权局
(12)发明专利说明书 | ||
(10)申请公布号 CN 104699543 A (43)申请公布日 2015.06.10 | ||
(21)申请号 CN201510138370.6
(22)申请日 2015.03.27
(71)申请人 福州大学
地址 350108 福建省福州市闽侯县上街镇大学城学园路2号福州大学新区
(72)发明人 杨明静
(74)专利代理机构 福州元创专利商标代理有限公司
代理人 程春宝
(51)Int.CI
权利要求说明书 说明书 幅图 |
(54)发明名称
基于Windows显示体系下与小端口驱动通信方法 | |
(57)摘要
本发明涉及基于Windows显示体系下与小端口驱动通信方法,在显卡小端口驱动的加载过程中,创建私有的通信对象,并替换掉显卡小端口驱动原本的函数分发表,这样用户态的应用程序就可以直接打开该通信对象,与之完成通信,但因为我们替换掉了显卡小端口驱动原本的函数分发表,故显卡小端口驱动原本的通信请求也被我们所截获,所以需要通过的恰当的方式来完成这些请求,以避免改变了显卡小端口驱动原本的通信行为。 | |
法律状态
法律状态公告日 | 法律状态信息 | 法律状态 |
如何打开端口
权 利 要 求 说 明 书
1.一种基于Windows显示体系下与小端口驱动通信方法,其特征在于:提供
用户态应用程序(M1),通过该用户态应用程序来通知显卡小端口驱动完成特定的任务;
显示驱动(M2),Windows显示体系下的显示驱动,完成GDI引擎发送来的显示请求;
显卡小端口驱动(M3),Windows显示体系下的小端口驱动,完成显示驱动发送来的显示请求;
私有通信对象(M4),在显卡小端口驱动中创建的私有通信对象,用户态应用程序可以打开
该对象,并与之通信;
全局对象表(M5),用于存放小端口驱动中存在的各类对象,包括创建的私有通信对象;
数据分发模块(M6),通过匹配全局对象表,来转发各类通信请求;
数据转换模块(M7),用于将IRP请求转换成VRP请求;以及
私有通信处理模块(M8),用于完成用户态应用程序需要显卡小端口驱动完成的任务;按照以下流程实现:
1)在显卡小端口驱动(M3)加载的过程中创建全局对象表(M5)以及私有的通信对象(M4),并将创建的私有通信对象保存于全局对象表(M5)中;
2)在显卡小端口驱动(M3)加载过程中替换掉显卡小端口驱动(M3)的函数分发表,用于接收用户态应用程序的通信请求;
3)用户态应用程(M1)序使用Windows系统提供的API打开该私有通信对象(M4),然后使
用Windows系统提供的API与私有通信对象(M4)来进行通信;
4)显卡小端口驱动(M3)收到用户态应用程序(M1)发来的通信请求,会将请求转发到到数据分发模块(M6);
5)数据分发模块(M6)根据全局对象表(M5)来判断该请求是发送给私有通信对象(M4)的,还是来自于显卡驱动(M3)或其他的通信请求;
6)如果是私有通信请求,则转发给私有通信处理模块(M7)来完成该请求;
7)如果是来自于显示驱动(M2)或其他的通信请求,则发送给数据转换模块(M8)。
说 明 书
<p>技术领域
本发明涉及一种基于Windows显示体系下与小端口驱动通信方法。
背景技术
在Windows显示体系下,用户态应用程序无法和显卡小端口驱动进行直接通信,用户态应用程序想和显卡小端口驱动进行通信,需要通过显示驱动来中转,通信数据流如图1所示,当显示驱动未加载的时候,则无法与显卡小端口驱动进行通信。
发明内容
本发明的目的是提供一种基于Windows显示体系下与小端口驱动通信方法,该方法通过绕过显示驱动,让用户态应用程序直接与显卡小端口驱动,这样在显示驱动还未加载的情况下,用户态应用程序也可以和显卡小端口驱动进行通信,同时当显卡驱动被加载起来以后,也不会影响显示驱动与显卡小端口驱动原本的通信行为。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论