mmcall
驱动牛犊
驱动牛犊
  • 注册日期2002-11-20
  • 最后登录2013-04-08
  • 粉丝0
  • 关注0
  • 积分32分
  • 威望5点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
阅读:1464回复:4

关于内核与用户模式间的内存共享……(30分)

楼主#
更多 发布于:2004-01-16 10:42
小弟我需要在内核层和用户层之间共享内存,要求是:

1、用户与内核层都可以对共享的地址进行访问、偏移并且“长期有效”。
2、效率要求高。

有如下问题:

1、如果通过irp传递地址,当irp结束后该地址在内核模式下已不能使用。
2、使用METHOD_IN_DIRECT方式,在内核模式下对输出的Irp->MdlAddress地址不能偏移?

请各位不吝赐教(最好能给出清晰的过程),谢谢!
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-01-17 20:47
用“Irp->MdlAddress”做关键词搜索,这个问题我曾经问过。
pengenwen
禁止发言
禁止发言
  • 注册日期2003-03-07
  • 最后登录2016-04-11
  • 粉丝0
  • 关注0
  • 积分1586分
  • 威望8380点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-01-18 08:25
用户被禁言,该主题自动屏蔽!
mmcall
驱动牛犊
驱动牛犊
  • 注册日期2002-11-20
  • 最后登录2013-04-08
  • 粉丝0
  • 关注0
  • 积分32分
  • 威望5点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-02-01 13:45
jinghuiren,看了你以前的贴子我搞清楚了在一个irp中处理
Irp->MdlAddress地址偏移的问题。

但是我需要实现在一个irp结束之后仍然可以访问App的缓存的解决办法。

请问如何才能实现?
jinghuiren
驱动巨牛
驱动巨牛
  • 注册日期2002-06-01
  • 最后登录2008-10-27
  • 粉丝0
  • 关注0
  • 积分291分
  • 威望460点
  • 贡献值0点
  • 好评度428点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-02-02 11:24
我看有的源程序通过公用的头文件来定义一些结构或数组,通过这个来共享内存。
还有就是你这个问题之前好像也有贴子问过了,你再搜索看看。
你需要很大的内存吗?
如果不是一般用前一种方法就行。或者通过一个ioctl里的一个case来和app通信,这样你就不用考虑二者共享了,和普通的一样。
游客

返回顶部