In generic thunking, the Win32-based DLL is run in the context of the process that loaded it, namely the 16-bit Windows-based application.
The GDI, dialog box, message box, and message functions work within 32-bit code loaded in the context of a 16-bit process. However, not all base features are supported in the context of a 16-bit process. In general, 32-bit code loaded by 16-bit processes can use the Win32 heap functions, memory-mapped file functions, file functions, and functions involving the current process and thread. You should avoid using third party Win32-based DLLs, unless you are sure they work safely in a 16 bit-environment.
Windows 95 and Windows 98: There are a few additional limitations for Win32-based DLLs loaded by a 16-bit application: