Одной из главных задач проекта 32-разрядного Windows была минимизировать объем работ, требуемый, чтобы держать в готовности существующие 16-разрядные, базирующиеся на Windows, прикладные программы. Тем не менее, некоторые изменения были переданы под мандат больших адресных пространств. Указатели, дескрипторы и графические координаты были расширены до 32-разрядных.
При перенесении вашего кода из 16-разрядного в 32-разрядный Windows, Вам, возможно, нужно будет исправить код, использующий функции, которые больше не поддерживаются. Однако, большая часть функций Windows поддерживается или сохраняются для совместимости вниз. Если Вы модифицируете ваш код, или создаете новый код, не используйте функции, поддерживаемые только для совместимости вниз. Вместо них, используйте новые функции, представленные в Windows API. Это дает возможность вызвать функции в базирующихся на Win32 динамически подключаемых библиотеках (DLL) (включая системные DLL) из 16-разрядного приложения. Универсальные "переходники " между 16-ти и 32-разрядным модулями предоставляют механизм для 16-разрядных прикладных программ, чтобы вызвать функции в базирующихся на Win32 DLL.