社区
Delphi
帖子详情
为什么两个进程同时创建的内存映射对象Handle值不一样?
wintergoes
2009-05-19 10:00:03
我在两个进程里同时创建了一个同名的内存映射对象,但是他们返回的Handle值不一样,为什么/
MapViewHandle := CreateFileMapping(Dword(-1), nil, PAGE_READWRITE, 0, SizeOf(TMapViewDataItem), 'MAP_VIEW_TEST');
两个进程里都是用上面这一句代码创建的,返回的MapViewHandle不同
...全文
162
1
打赏
收藏
为什么两个进程同时创建的内存映射对象Handle值不一样?
我在两个进程里同时创建了一个同名的内存映射对象,但是他们返回的Handle值不一样,为什么/ MapViewHandle := CreateFileMapping(Dword(-1), nil, PAGE_READWRITE, 0, SizeOf(TMapViewDataItem), 'MAP_VIEW_TEST'); 两个进程里都是用上面这一句代码创建的,返回的MapViewHandle不同
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
僵哥
2009-05-19
打赏
举报
回复
Handle值是不一定重复的,全局Handle值是需要保证唯一的。
内存映射
文件实现
进程
间通信
原理介绍 在Windows平台中,常见的
进程
间通信机制包括管道、socket、WM_COPYDATA、邮槽等,这些在同一台机器上实现共享数据的最底层机制就是
内存映射
文件,如果要求低开销和高性能,
内存映射
文件无疑是最佳选择。
创建
一个
内存映射
文件的步骤如下: (1)
创建
一个文件映射内核
对象
(file-mapping kernel object)并指定系统文件大小以及访问方式。 (2)把文件映射
对象
的...
Windows使用
内存映射
文件
内存映射
文件主要用于以下三种情况:系统使用
内存映射
文件,以便加载和执行. exe和DLL文件。这可以大大节省页文件空间和应用程序启动运行所需的时间。可以使用
内存映射
文件来访问磁盘上的数据文件。这使你可以不必对文件执行I/O操作,并且可以不必对文件内容进行缓存。可以使用
内存映射
文件,使同一台计算机上运行的多个
进程
能够相互之间共享数据。
Windows
内存映射
适用于读写大文件,不需要加载如内存直接访问,同时可进行修改:
内存映射
文件,最适合用来管理大型数据流(通常来自文件)以及在单个计算机上运行的多个
进程
之间共享数据。
进程
注入之
创建
傀儡
进程
傀儡
进程
:
创建
一个
进程
,然后将其虚拟地址里的内容掏空,注入想要注入的
进程
,以达到掩人耳目的效果 步骤: 1.以挂起的方式
创建
一个
进程
2.卸载该
进程
的
内存映射
,即掏空该
进程
虚拟内存空间中的内容 3.获取该
进程
的CONTEXT上下文结构 4.将要注入的程序读入到内存中 5.在傀儡
进程
中申请足够的内存空间 6.手动将要注入的程序写入傀儡
进程
中所申请的内存空间 6.设置CONTEXT上下文的Eax为程序...
Windows
进程
通信之
内存映射
文件
本文由danny发表于 http://blog.csdn.net/danny_share 说明:建议先下载本文配套工程,其中 FileMapMain工程、FileMapASub工程,FileMapBSub工程分别用于演示
进程
间通信的主
进程
和
两个
子
进程
下载地址:http://download.csdn.net/detail/danny_share/7745501 注意: 1.不要F
Delphi
5,943
社区成员
262,941
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章