Типы данных в файле windows.h
Файл windows.h должен включаться во все исходные файлы приложений Windows. Он содержит определение типов данных, символических имен констант и прототипы функций программного интерфейса Windows.
Для создания мобильных приложений, которые вы сможете перенести в среду Windows NT или аналогичную среду, поддерживающую программный интерфейс Windows, следует пользоваться не стандартными типами данных, реализованными в конкретной версии системы, а теми типами данных, которые определены в файле windows.h.
Этот файл содержит описание базовых типов и производных, созданных из базовых. Имена типов (как правило, это указатели) могут начинаться с префикса. Префикс LP означает дальний указатель (Long Pointer), префикс NP - ближний указатель (Near Pointer), и префикс P - указатель без определения типа. Для константных типов данных (определенных с ключевым словом const) после префикса добавляется буква "C", например, LPCSTR.
Приведем список базовых типов данных, определенных в файле windows.h.
Тип данных | Определение типа в файле windows.h | Описание |
BOOL | int | Булевый (двоичный) |
BYTE | unsigned char | Байт |
WORD | unsigned short | Беззнаковое целое размером 16 бит |
DWORD | unsigned long | Беззнаковое целое размером 32 бит |
UINT | unsigned int | Беззнаковое целое естественного для данной системы размера |
Заметим, что в Windows версии 3.1 изменилось определение типа данных WORD по сравнению с версией 3.0. В файле windows.h, предназначенном для разработки приложений Windows версии 3.0, тип данных WORD был определен следующим образом:
typedef unsigned int WORD; // Для Windows версии 3.0!
В обоих случаях (и для версии 3.0, и для версии 3.1) тип данных отображается на беззнаковое целое длиной 16 бит. Но для Windows NT типы данных unsigned int и unsigned short уже не эквивалентны. Использование вместо них типа данных WORD упростит задачу переноса исходных текстов приложений в 32-разрядную среду.
На основе приведенного выше набора базовых типов в файле windows.h определены производные типы, которые являются указателями: