VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

有编程疑问吗?还请到提问专区发帖提问!
搜索
查看: 435|回复: 4

[求助] MapViewOfFile函数的返回值,具体指哪里的地址

[复制链接]
73_avatar_middle
在线会员 变形金刚 发表于 2018-4-30 16:26:37 | 显示全部楼层 |阅读模式
3驿站币
本帖最后由 变形金刚 于 2018-5-1 16:21 编辑

这个函数与内存映射有关
具体好好像是根据映射对象句柄,创建一个内存映射文件,返回映射文件的首地址. 这是我的理解.  查资料是: 准确的是返回一个视图首地址

翻了一下内存映射文件的资料,对这个还是一知半解,
   PE文件的建议装载地址是0x00400000,那么根据上面函数,内存映射PE文件的首地址是不是这个,但我尝试,不是这个。
        现在我的猜测:假设一个空间大小为2的64次方个字节的磁盘或者装文件的容器,等于把电脑磁盘中的原文件复制到这个容器中,内存映射文件就是指容器中的这个复制文件?内存映射文件的首地址是不是指的这里面的地址(相对容器的偏移量),是不是资料中的虚拟地址?这个内存映射文件的首地址,并不是内存地址?所以说不等于0x00400000?0x00400000就是指的内存地址?

        问题是:我想知道标题中的函数,返回值具体指的是哪里的地址?我刚知道RVA,如果0x00400000是内存地址,RVA就是相对0x00400000的偏移地址

最佳答案

查看完整内容

按我的理解肯定是个内存地址!




上一篇:VC6.0不能编译staAFX.h头文件
下一篇:触控程序的焦点控制

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

51_avatar_middle
online_admins Syc 发表于 2018-4-30 16:26:38 | 显示全部楼层
按我的理解肯定是个内存地址!

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

73_avatar_middle
ico_lz  楼主| 变形金刚 发表于 2018-5-2 16:08:42 | 显示全部楼层
Syc 发表于 2018-5-2 13:49
按我的理解肯定是个内存地址!


我正在看windows环境下的32位汇编,里面有关于PE文件结构介绍的代码,我先把一段文字抄下来(罗云彬 著  第17.2.1章导入表简介 末尾):  "  从IAMAGE_DATA_DIRECTORY结构的VirtualAddress字段得到的是导入表的RVA值, 如果在内存中查找导入表, 那么将RVA值加上PE文件装入的基地址就是实际的地址;  如果在PE文件中查找导入表, 那么需要首先使用17.1.4节中例举的RVAToOffset子程序将RVA首先转换成文件偏移. "
   最后一句话应该指的不是在内存中,教程例子中代码就是将 (最后一句:)转换后的文件偏移+MapViewOfFile函数的返回值,然后以此为基址,再继续往下进行代码执行。如果一个是(最后一句:)文件偏移,一个是内存地址,两个相加,我就始终不理解
   那么MapViewOfFile函数的返回值,与PE文件的建议装载地址0x00400000,是不是指的同一个地方呢

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

73_avatar_middle
ico_lz  楼主| 变形金刚 发表于 2018-5-2 16:35:25 来自手机 | 显示全部楼层
本帖最后由 变形金刚 于 2018-5-2 16:44 编辑
Syc 发表于 2018-5-2 13:49
按我的理解肯定是个内存地址!


学习中不理解的问题太多了,我还要去多读几遍关于这些的信息MapViewOfFile函数的返回值,具体指哪里的地址 谢谢!

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

08_avatar_middle
在线会员 fjqisba 发表于 2018-5-4 23:25:45 | 显示全部楼层
貌似是返回指向映射出来的内容的一个地址,也就是说地址是随机申请出来的,不重要.

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你已经在论坛发帖求助,并且从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友?可以给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /1 下一条

QQ
QQ在线咨询
联系电话
13591366679
手机扫一扫 关注本站精彩内容
wxqrcode

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2018-8-20 16:48

Powered by Discuz! X3.4

© 2009-2018 cctry.com

快速回复 返回顶部 返回列表