В данном разделе обсуждаются конструкции (введенные в
Windows 3.1), обеспечивающие переносимость кода Windows. Существующий 16-разрядный код Windows можно переносить с минимальными
изменениями в Win32 и Windows NT. Большинство изменений предусматривают подстановку вместо старых новых макрокоманд и типов и
замену специфических 16-разрядных вызовов API аналогичными API
Win32. После внесения этих изменений ваш программный код сможет
компилироваться и выполняться в 16-разрядной и 32-разрядной среде
Windows.
Чтобы облегчить создание переносимого кода, предусмотрена
переменная среду этапа компиляции STRICT. Windows 3.1 поддерживает определение STRICT в windows.h. Например, если не определена
переменная STRICT, то передача HWND функции, требующей HDC, не
приведет к выводу компилятором предупреждающего сообщения. Если
вы определите STRICT, то получите ошибку компиляции.
Использование STRICT позволяет:
возвращаемого значения;
COMSTAT.
STRICT обладает обратной совместимостью с Windows 3.0, то
есть ее можно использовать для создания приложений, работающих в
Windows 3.0. Определение STRICT поможет вам находить и корректировать несовместимость типов при переносе программ в 32-разрядную среду и поможет обеспечить переносимость между 16- и 32-разрядной Windows.
Чтобы вы могли изменить свою программу в соответствии со
STRICT, предусмотрены новые типы, константы и макрокоманды
CALLBACK | Используется вместо FAR PASCAL в подпрограммах обратного вызова (например, оконных и диалоговых процедурах). |
LPARAM | Описывает все 32-разрядные полиморфические параметры. |
LPCSTR | То же, что LPSTR, но используется для доступ-
ных только по чтению строковых указателей. |
LRESULT | Описывает все 32-разрядные возвращаемые значения. |
UINT | Переносимый беззнаковый целочисленный тип,
размер которого определяется целевой средой. (В Windows 3.1 представляет 16-битовое значение, а в Win32 - 32-битовое.) |
WINAPI | Используется вместо FAR PASCAL для описаний API. Если вы пишете DLL с экспортируемыми точками входа API, то можете использовать ее для описаний API. |
WPARAM | Описывает 16-битовые полиморфические параметры. |