运行 32 位应用程序
WOW64 是 x86 仿真器,允许基于 32 位 Windows 的应用程序在 64 位 Windows 上无缝运行。 这允许 32 位 (x86) Windows 应用程序在 64 位 (x64) Windows 中无缝运行,以及 32 位 (x86) 和 32 位 (ARM) Windows 应用程序在 64 位 (ARM64) Windows 中无缝运行。 WOW64 随操作系统一起提供,无需显式启用。 有关详细信息,请参阅 WOW64 实现详细信息。
系统将 32 位应用程序与 64 位应用程序隔离,其中包括防止文件和注册表冲突。 支持控制台、GUI 和服务应用程序。 系统为剪切和粘贴和 COM 等方案提供跨 32/64 边界的互操作性。 但是,32 位进程无法加载 64 位 DLL 来执行,64 位进程无法加载 32 位 DLL 来执行。 此限制不适用于加载为数据文件或图像资源文件的 DLL;有关详细信息,请参阅 LoadLibraryEx。
32 位应用程序可以通过调用 IsWow64Process 函数来检测它是否在 WOW64 下运行, (如果面向Windows 10) ,则使用 IsWow64Process2。 应用程序可以使用 GetNativeSystemInfo 函数获取有关处理器的其他信息。
请注意,64 位 Windows 不支持运行基于 16 位 Windows 的应用程序。 主要原因是句柄在 64 位 Windows 上具有 32 个有效位。 因此,句柄不能被截断并传递给 16 位应用程序,而不会丢失数据。 尝试启动 16 位应用程序失败,并出现以下错误: ERROR_BAD_EXE_FORMAT。
本节内容