В унифицированном переключении вызова с 16- на 32-битовый модуль и обратно, DLL базирующаяся на Win32, запускается в контексте процесса, который загрузил её, а именно, как 16-разрядное приложение на базе Windows.
Интерфейс графического устройства (GDI), диалоговое окно, окно сообщения и функции сообщения работают в пределах 32-разрядного кода, загруженного в контексте 16-разрядного процесса. Однако, не все основные функциональные возможности поддерживаются в контексте 16-разрядного процесса. Вообще, 32-разрядный код, загруженный 16-разрядными процессами может использовать функции кучи Win32, функции отображаемого в памяти файла, функции файла и функции, вызывающие текущий процесс и поток. Вы должны избегать использования сторонних DLL базирующихся на Win32, если Вы не уверены, что они безошибочно работают в 16-разрядных средах.
Windows Me/98/95: Имеется несколько дополнительных ограничений для DLL, базирующаяся на Win32, загруженных 16-разрядным приложением: