Microsoft's official website describes the problem as follows: In a 64-bit Windows system, a 64-bit process cannot load a 32-bit DLL, similarly, a 32-bit process cannot load a 64-bit DLL. However, 64-bit Windows supports RPC between 64-bit and 32-bit processes (including local or cross-host processes ). In 64-bit windows, a 32-bit external process COM server can communicate with a 64-bit client, and a 64-bit external process COM server can also communicate with a 32-bit client. Therefore, if you have a 32-bit com-unrecognized DLL, You can encapsulate it into a non-process COM server and use com configuration to call the DLL in a 64-bit process. (I cannot quite understand the last sentence !! Hahaha) Verification: workflow: 1. Create an external COM server (exe ). 2. encapsulate the 32-bit DLL interface functions as related interfaces of the COM server. 3. register the COM server *. EXE/regserver (cancel *. EXE/unregserver ). The 32-bit COM server interface is successfully called by the 4.64-bit process. Thus, the curve enables 64-bit processes to call 32-bit DLL.