libin2309
驱动大牛
驱动大牛
  • 注册日期2002-11-20
  • 最后登录2005-12-29
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:889回复:3

怎么才能不用应用程序的请求而由系统根据硬件自己产生IRP

楼主#
更多 发布于:2003-03-06 08:48
我用DS做NT式的ISA驱动,我的板子上有两个双口RAM,其中一个用DMA方式向总线传输数据,当第一个双口RAM完成DMA传输的时候发中断,在中断过程中总线从第二个双口RAM中读取数据,我的DMA控制器是主板上的8237,因此是系统DMA传输,我和应用程序约定好,我开辟一块内存缓冲区,我往该区存储数据,应用程序从该区取数据,所以应该是公共缓冲区的DMA传输,对吧?有个问题我不明白,我的DMA传输和中断传输没不是来自应用程序的请求,而是直接由硬件决定的,当DMA传输要进行的时候硬件给总线发信号,要进行DMA传输,这时由系统构造IRP,发给驱动程序处理,是这样的吗?不知道我理解的对不对,如果不对的话,那应该是什么样子呢?在我的程序中要注意哪些??
我现在好急,没个大致的思路!!!
谁答的好,高分奉送,我分几次给分!!!

最新喜欢:

abc0099abc009...
我是一只小小鸟,永远也飞也飞不高,但我永远在飞!
ooze
驱动牛犊
驱动牛犊
  • 注册日期2001-09-26
  • 最后登录2004-03-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-03-06 18:22
查下资料看看软件驱动有几种方式产生咯
Be a true hacker of Windows NT alike
Tom.Cat
禁止发言
禁止发言
  • 注册日期2001-10-10
  • 最后登录2019-07-29
  • 粉丝1
  • 关注0
  • 积分-53792分
  • 威望197411点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2003-03-06 19:56
用户被禁言,该主题自动屏蔽!
libin2309
驱动大牛
驱动大牛
  • 注册日期2002-11-20
  • 最后登录2005-12-29
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-03-06 20:47
谢谢楼上大哥的回答,你说的有道理,我想这么实现,能不能说的详细点啊!!
我是一只小小鸟,永远也飞也飞不高,但我永远在飞!
游客

返回顶部