的64位的系统文件的无声重定向到其32位等效可关断和收归与和Wow64DisableWow64FsRedirection Wow64RevertWow64FsRedirection。我们在我们的应用程序中使用它来进行某些文件身份检查强制文件重定向在x64用于32位应用程序
问题是,在执行这些任务时,我们可能会调用一个框架或Windows API,随后调用另一个尚未加载的DLL中的API。如果当时启用重定向,则可能会加载错误版本的dll,导致出现XXX is not a valid Win32 application
错误。
我已经确定了几个有问题的API调用,并且我想要做的事情是在该调用期间强制重定向,然后将其恢复 - 仅提供提供的Win32 API的。不幸的是,这些调用并没有提供像注册表方法那样的任何类型的WOW64兼容性标志。
明显的选择是使用Wow64EnableWow64FsRedirection,为Wow64FsEanbledRedirection传递TRUE。然而,关于使用这种方法的警告有很多种,并且注意到它与取代它的禁用/恢复组合方法不兼容。
有没有一种安全的方式来强制重定向对给一个Win32调用?
文档状态重定向是线程特定的,所以我已经考虑为特定的调用启用适当的锁和等待的新线程,但我希望有一个更简单的解决方案。
@afrazier:我们不加载DLL文件,他们正在间接我们呼吁 – 2010-04-20 01:35:15