引用:WOW子系统也会处理运行64-bit应用程序的其他关键方面. 比如说, 在管理32位应用程序与windows注册表的交互时, 会给存储子系统提供接口(32位的注册表与64位的注册表不太一样.) 操作系统使用%SystemRoot%\system32目录来存储64-bit的库文件和可执行文件. 这样做是为了向后兼容, 因为很多旧系统的应用程序都是使用hardcoded的方式来获取这个路径的. 当执行32位应用程序的时候, WOW64会将对DLL的请求从system32重定向到%SystemRoot%\SysWOW64, 在SysWOW64目录中, 包含了旧系统的库和可执行文件.
也就是说,在64bit系统上,64程序的系统目录为system32(至于为什么是32而不是64,前面引用已经说明),而32bit程序的系统目录被重定向为SysWow64;对于32bit的程序,如果关闭文件重定向,那么系统目录就和64bit程序一样为system32.
主要涉及两个函数:Wow64DisableWow64FsRedirection and Wow64RevertWow64FsRedirection
主要用于文件重定向的关闭和恢复,要成对使用!
相关链接:
https://msdn.microsoft.com/zh-cn/library/aa365743(v=vs.85).aspx
https://msdn.microsoft.com/zh-cn/library/aa365745(v=vs.85).aspx