How are 32-bit and 64-bit DLL files associated with the same C: \ system32 \ kernel32.DLL?

I was sure that the 64-bit DLL could not refer to the 32-bit DLL.

+4
source share
1 answer

Wow64 has a file redirector. It has the same DLL names, but is stored in the appropriate place. The concept is explained in http://msdn.microsoft.com/en-us/library/aa384187(v=vs.85).aspx

The% windir% \ System32 directory is reserved for 64-bit applications. Most DLL file names were not changed when creating 64-bit versions of DLLs, so 32-bit versions of DLLs are stored in a different directory. WOW64 hides this difference using a file system redirector.

In most cases, when a 32-bit application tries to access% windir% \ System32, access is redirected to% windir% \ SysWOW64. Access to% windir% \ lastgood \ system32 is redirected to% windir% \ lastgood \ SysWOW64. Access to% windir% \ regedit.exe is redirected to% windir% \ SysWOW64 \ regedit.exe.

+6
source

Source: https://habr.com/ru/post/1395398/


All Articles