Compatibility with 16-bit Windows

One of the major design goals of the 32-bit Windows was to minimize the effort required to port existing 16-bit Windows-based applications. However, some changes were mandated by the larger address space. Pointers, handles, and graphics coordinates were widened to 32 bits.

When porting your code from 16-bit Windows to 32-bit Windows, you may need to revise code that uses functions that are no longer supported. However, the majority of Windows functions are supported or maintained for backward compatibility. If you are updating your code or creating new code, do not use the functions maintained only for backward compatibility. Instead, use the new functions introduced in the Windows API. It is possible to call functions in Win32-based DLLs (including the system DLLs) from a 16-bit application. Generic thunks provide a mechanism for 16-bit applications to call functions in Win32-based DLLs.