Win11 26H2 仍保留 Windows95 古老兼容组件 EmulateHeap

更新日期:2026-10-20

来源:纯净之家

  纯净之家 10 月 20 日最新消息,Windows 11 最新 26H2 版本中,微软仍然保留了可追溯至 Windows 95 时代的兼容性组件 EmulateHeap,该组件是一套 Windows 95 堆管理器模拟程序。

Win11 26H2 仍保留 Windows95 古老兼容组件 EmulateHeap

  EmulateHeap 是一个运行 Windows 95 堆管理器的修复程序,它仍然存在于 Windows 11 26H2 系统中。

  起源方面,早期 Windows 3.x 版《模拟城市》(SimCity)游戏存在“释放后使用”(use-after-free)漏洞,程序在释放内存后仍继续读取该内存。由于旧系统不会立即回收内存,游戏运行正常,但到了 Windows 95 测试版,由于微软改变内存管理方式后,会导致游戏出现运行故障。

Win11 26H2 仍保留 Windows95 古老兼容组件 EmulateHeap

  在解决方案上,微软并未要求游戏厂商修复该问题,改为在 Windows 95 系统中加入特例代码,检测到《模拟城市》游戏运行后便延迟释放内存。

  在《模拟城市》特例之后,微软发现其它应用和游戏也有类似需求,因此微软针对 Windows XP 系统,复制 Windows 95 内存堆管理器源码,在重新编译加入兼容性框架后形成 EmulateHeap。

  在 Windows XP 系统中,旧程序调用 HeapCreate、LocalLock、GlobalReAlloc 等内存 API 时,该组件重定向到模拟 Windows 95 的实现中。

  在当前 Windows 11 系统中,只有当某个应用被明确启用 EmulateHeap 时,相关旧代码才会从硬盘加载。用户可通过 Windows ADK 中的“兼容性管理器”查看该修复项。

Win11 26H2 仍保留 Windows95 古老兼容组件 EmulateHeapWin11 26H2 仍保留 Windows95 古老兼容组件 EmulateHeap