littlemm
驱动牛犊
驱动牛犊
  • 注册日期2004-04-01
  • 最后登录2004-06-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1467回复:13

将system内存指针传到环3???

楼主#
更多 发布于:2004-04-13 14:41
我在做板卡驱动,板卡上有一块内存,pci卡
我在驱动层映射了其首地址,我在DeviceIoControl中做了接口
从环3传递地址偏移,就可对这块内存进行读写,目前已经验证是正确的
现在我想把这块内存的首地址指针传到环3的应用程序
但是不能对它读写
试问我应该怎样操作呢?
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
沙发#
发布于:2004-04-13 14:55
参考我另一个帖子的回答,嘿嘿.....
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
littlemm
驱动牛犊
驱动牛犊
  • 注册日期2004-04-01
  • 最后登录2004-06-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-04-13 15:10
还是不行,它是16k双口ram首地址
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
地板#
发布于:2004-04-13 15:59
什么意思??
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
littlemm
驱动牛犊
驱动牛犊
  • 注册日期2004-04-01
  • 最后登录2004-06-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-04-13 17:04
您方便给我个电话吗现在?
littlemm
驱动牛犊
驱动牛犊
  • 注册日期2004-04-01
  • 最后登录2004-06-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-04-13 17:06
my phone 62960722-827
littlemm
驱动牛犊
驱动牛犊
  • 注册日期2004-04-01
  • 最后登录2004-06-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-04-14 17:12
有谁可以回答我的问题吗?
我实在很困惑
seaquester
驱动大牛
驱动大牛
  • 注册日期2002-05-22
  • 最后登录2016-06-16
  • 粉丝0
  • 关注0
  • 积分500分
  • 威望115点
  • 贡献值0点
  • 好评度107点
  • 原创分0分
  • 专家分52分
7楼#
发布于:2004-04-14 17:20
我在做板卡驱动,板卡上有一块内存,pci卡
我在驱动层映射了其首地址,我在DeviceIoControl中做了接口
从环3传递地址偏移,就可对这块内存进行读写,目前已经验证是正确的
现在我想把这块内存的首地址指针传到环3的应用程序
但是不能对它读写
试问我应该怎样操作呢?



这个问题讨论过很多次了,本来不想回答的。其实,你搜索一下以前的帖子就可以解决了。


在应用程序中不能直接访问内核空间的地址,需要将内核空间的地址映射到用户空间。

可以参考MSDN中的文章:
HOWTO: Map Adapter RAM into Process Address Space
Q189327

HOWTO: Share Memory Between User Mode and Kernel Mode
Q191840

SAMPLE: Section.exe on Sharing Memory Between Kernel & User Mode
Q194945

在NT DDK 中有一个例子 MAPMEM (C:\\DDK\\src\\general\\mapmem)

八风舞遥翩,九野弄清音。 鸣高常向月,善舞不迎人。
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
8楼#
发布于:2004-04-14 18:17
但是不能对它读写
你又如何来实现呢??
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
seaquester
驱动大牛
驱动大牛
  • 注册日期2002-05-22
  • 最后登录2016-06-16
  • 粉丝0
  • 关注0
  • 积分500分
  • 威望115点
  • 贡献值0点
  • 好评度107点
  • 原创分0分
  • 专家分52分
9楼#
发布于:2004-04-15 08:30
但是不能对它读写
你又如何来实现呢??


楼主说过:
“我在驱动层映射了其首地址,我在DeviceIoControl中做了接口
从环3传递地址偏移,就可对这块内存进行读写,目前已经验证是正确的”
八风舞遥翩,九野弄清音。 鸣高常向月,善舞不迎人。
juventus
驱动牛犊
驱动牛犊
  • 注册日期2003-06-23
  • 最后登录2009-07-02
  • 粉丝0
  • 关注0
  • 积分23分
  • 威望4点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2004-04-15 09:00
如果你是想在user mode下直接对内存进行操作的话,参考这个:
Q194945 SAMPLE: Section.exe on Sharing Memory Between Kernel & User Mode

littlemm
驱动牛犊
驱动牛犊
  • 注册日期2004-04-01
  • 最后登录2004-06-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2004-04-15 15:36
Q194945 SAMPLE: Section.exe on Sharing Memory Between Kernel & User Mode
是什么?
littlemm
驱动牛犊
驱动牛犊
  • 注册日期2004-04-01
  • 最后登录2004-06-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2004-04-15 15:38
我的是wdm驱动,可以用吗?
littlemm
驱动牛犊
驱动牛犊
  • 注册日期2004-04-01
  • 最后登录2004-06-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2004-04-16 16:45
还是不行啊
游客

返回顶部