我正在使用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位进程堆列表?
关于堆差异的任何信息都是奖励。