lijun
驱动牛犊
驱动牛犊
  • 注册日期2001-06-30
  • 最后登录2002-05-14
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:3047回复:4

???

楼主#
更多 发布于:2001-03-27 17:15
谁能具体谈一谈应用程序和驱动程序(WDM)之间通讯的过程.驱动程序要
怎样才能把一些数据放到USER MODE 上?
不用了吧?
Iamme
驱动小牛
驱动小牛
  • 注册日期2001-03-23
  • 最后登录2005-10-11
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-03-27 17:40
应用程序与WDM模式的驱动发生作用是通过标准的WIN32接口。
例如应用通过调用WriteFile()向设备发出写数据请求时,操作系统向驱动发出写IRP,此IRP由驱动的相应处理例程处理,应用所发出的数据在相应IRP的AssociatedIrp.SystemBuffer域,数据长度在相应的IRP栈单元的Parameters.Write.Length域;WDM的数据返回当然也要在AssociatedIrp.SystemBuffer域。
Go,go ahead
Iamme
驱动小牛
驱动小牛
  • 注册日期2001-03-23
  • 最后登录2005-10-11
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-03-27 20:03
:)



呵呵,你问的不是应用与驱动之间的通讯吗?

一个简单的层次问题,应用通过API调用操作系统提供的服务,操作系统将此请求变为IRP发往相应的驱动,驱动获取必要的数据,驱动将此数据做一些处理后发往硬件设备的寄存器;硬件设备有数据,发生中断,驱动从硬件设备的寄存器获得数据,作些处理,应用再通过API获取数据。
Go,go ahead
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
地板#
发布于:2001-03-27 21:38
我记得好像有一些类型的driver不能通过readfile和writefile读写数据。
至于键盘的driver,如果是FDO,就响应键盘中断啊!如果是keyboard filter driver,就attach到设备栈里面处理键盘数据。
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
jansen
驱动小牛
驱动小牛
  • 注册日期2001-10-21
  • 最后登录2007-10-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-03-11 08:18
有一类的驱动程序如显卡可以通过API EscapeEx()函数于驱动程序通信,但是你自己必须定义相关的IoControl code 参数
rich
游客

返回顶部