首页 > 解决方案 > C++:IsWow64Process2:可以通过 pProcessMachine 参数返回哪些有效的 WOW64 进程架构值?

问题描述

IsWow64Process2 文档(参数部分)说:

pProcessMachine

成功时,返回一个指向 IMAGE_FILE_MACHINE_* 值的指针。如果目标进程不是 WOW64 进程,则该值将为 IMAGE_FILE_MACHINE_UNKNOWN;否则,它将识别 WoW 进程的类型。

但是,许多图像文件机器常量不适用,我不认为,因为它们是 64 位的,并且只有 32 位的进程可以在 WOW64 下运行。另外,我在想,对于 Windows 10,可能的架构只能是基于此引用的 Intel(包括 AMD)或 ARM(请参见此处):

WOW64 是 x86 仿真器,它允许基于 32 位 Windows 的应用程序在 64 位 Windows 上无缝运行。这允许 32 位 (x86) Windows 应用程序在 64 位 (x64) Windows 中无缝运行,并且允许 32 位 (x86) 和 32 位 (ARM) Windows 应用程序在 64 位 (x64) 中无缝运行 ( ARM64) 窗口。

因此,如果进程确实在 WOW64 下运行,我认为只有以下 32 位机器类型常量可能通过 pProcessMachine 返回:

相关链接:

我在上述假设和两种可能的架构列表中是否正确?此外,在 Microsoft Windows 文档(或任何其他博客、文章、书籍等)的其他地方是否有比我上面显示的链接更深入地解释 WOW64 和相关主题的地方,也许明确地解决了我的问题?

标签: c++windowswow64

解决方案


推荐阅读