具有TH32CS_SNAPHEAPLIST的CreateToolhelp32Snapshot如何在64位和32位进程之间进行交互

时间:2013-01-20 18:27:33

标签: c winapi

我正在使用TH32CS_SNAPHEAPLIST标志调用CreateToolhelp32Snapshot,然后使用(Heap32First / Heap32Next遍历堆列表)。

这似乎在为相同架构(32或64位)构建的进程之间正常工作,但在调用'inter architecture'时我得到奇怪的结果。这对于32位是有意义的,事实上它已被记录:

如果指定的进程是64位进程且调用者是32位进程,则此函数失败,最后一个错误代码为ERROR_PARTIAL_COPY(299)。我很欣赏这可能只是预期的行为,但我看不出它的相反方向。

因此,对于64到32位,我将只看到2个堆,其中一个进程在32到32之间返回10个。

我不知道这些是否被wow64使用,但我的问题是:

如何从64位进程获取32位进程堆列表?

关于堆差异的任何信息都是奖励。

0 个答案:

没有答案