Davisfront
驱动牛犊
驱动牛犊
  • 注册日期2002-11-04
  • 最后登录2003-09-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1698回复:7

如何访问物理内存(已给分)

楼主#
更多 发布于:2002-11-22 09:28
在2000下,有没有办法访问物理内存啊???? :(

[编辑 -  11/22/02 by  Davisfront]
Davisfront
驱动牛犊
驱动牛犊
  • 注册日期2002-11-04
  • 最后登录2003-09-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-11-22 11:07
还是多谢你啦,给分!
ydyuse
驱动老牛
驱动老牛
  • 注册日期2002-07-25
  • 最后登录2005-03-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-11-22 10:42
不好意思,我才看到已解决!
生命驱动,活力无限!
ydyuse
驱动老牛
驱动老牛
  • 注册日期2002-07-25
  • 最后登录2005-03-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-11-22 10:39
你的思路是对的!


[编辑 -  11/25/02 by  ydyuse]
生命驱动,活力无限!
Davisfront
驱动牛犊
驱动牛犊
  • 注册日期2002-11-04
  • 最后登录2003-09-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-11-22 10:37
好像可以了也!!!!就是用我上面的那种方法!!!哈哈
Davisfront
驱动牛犊
驱动牛犊
  • 注册日期2002-11-04
  • 最后登录2003-09-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-11-22 10:11
我想了一种做法,但是好像不行!?做法如下:
PHYSICAL_ADDRESS paddr;
paddr.QuadPart = (__int64)Entry;
tmpentry = (ULONG *)MmMapIoSpace (paddr,32,MmNonCached);

注:Entry就是一个32位的物理地址

[编辑 -  11/26/02 by  Davisfront]
Davisfront
驱动牛犊
驱动牛犊
  • 注册日期2002-11-04
  • 最后登录2003-09-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-11-22 10:05
可否再详细一点,一定给分!!!
ydyuse
驱动老牛
驱动老牛
  • 注册日期2002-07-25
  • 最后登录2005-03-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-11-22 09:45
Windows 2000的DMA传输是一个抽象模型。在这个模型中,计算机被认为有一组“映射寄存器”,它们在CPU的物理地址和总线地址之间做相互转换。每个映射寄存器保存着一个物理页帧的地址。硬件使用一个“逻辑的”或总线专有的地址来读写内存。
生命驱动,活力无限!
游客

返回顶部