Table 2: APIs that let 64-bit aware 32-bit applications undo virtualization.
API | Description |
GetSystemWow64Directory | A 32- or 64-bit application may request the location of the 32-bit "system32" (SysWow64) directory. |
IsWow64Process | A 32- or 64-bit process may ask if a process is running in the Wow64 "emulation" layer. |
Wow64DisableWow64FsRedirection | For a 32-bit application running under Wow64 to indicate that it understands the 64-bit filesystem layout and wishes to discontinue the mappings. We found an issue with the Winsock API gethostbyname() with FS redirection disabled that has yet to be investigated. The caution here is that existing code may simply not run once you disable this. |
Wow64EnableWow64FsRedirection | For a 32-bit application running under Wow64 to indicate that it understands the 64-bit filesystem layout and wishes to enable the emulation. |
Wow64RevertWow64FsRedirection | For a 32-bit application running under Wow64 to indicate that it understands the 64-bit filesystem layout and wishes to revert the emulation to its default state. |
RegOpenKeyEx | Not new, but takes two new flags: KEY_WOW64_32KEY for a 64-bit application to open a registry key as it would appear to a 32-bit application, and KEY_WOW64_64KEY, for a 32-bit application to open the registry as it would appear to a 64-bit application. |
RegDisableReflectionKey | Disable reflection for a key and so allow a Wow64 process to see full 64-bit registry. This appears to affect HKLM/Software and HKCR. |
RegEnableReflectionKey | Enable reflection and so disallow a Wow64 process from seeing the full 64-bit registry. |
ReqQueryReflectionKey | Query the reflection state of an open registry key. |