2012-05-17 36 views
0

我正在使用的系统有很多进程正在运行。在共享内存的情况下,一些是服务器,一些是客户端。确定哪个进程在Windows中创建共享内存

他们通过CreateFileMappingMapViewOfFile创建/访问共享内存。

我最近更改了其中一个客户端的结构,导致客户端尝试映射共享内存区域,该区域比服务器进程创建的区域大。结果是拒绝访问。

我的问题是,我不知道哪个修补程序首先创建了内存。有没有办法访问这些有关共享内存的元信息以确定哪些服务器程序需要重新编译?

确认,它是MapViewOfFile这是失败的,错误代码为5:拒绝访问。

回答

0

存在两种类型的共享内存:动态(使用CreateFileMapping ...您的场景)和静态(在PE部分特性中声明的内存映射)。可以在文件和进程级别测试具有共享内存特征的PE部分的存在。

在另一边,为什么MapViewOfFile失败可能比大小不同映射内存的其它(如证书,内存偏移,....)

+0

也看看HTTP的原因://计算器.COM /问题/ 10622750 /如何找到的,如果-的地址,属于到的代码,或数据截面 – mox