的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