|
|
||
5. Типы данных в Win32 API |
||
Прежде всего заметим, что интерфейс программирования приложений Win32 API ориентирован на язык программирования С или, в более широком смысле, на процедурные языки программирования. Поэтому в этом интерфейсе, не используются такие возможности языка программирования C++, как классы, ссылки и механизм обработки исключений. Чтобы сделать интерфейс Win32 API более независимым от конкретного языка программирования или, может быть, более соответствующим аппаратному обеспечению компьютера, разработчики этого интерфейса определили новые простые типы данных. Эти типы данных используются в прототипах функций интерфейса Win32 API. Новые простые типы данных определены как синонимы простых типов данных языка программирования С. Чтобы отличать эти типы от других типов, их имена определены прописными буквами. Общее количество простых типов данных, определенных в интерфейсе Win32 API, довольно велико. Поэтому ниже приведены определения только тех простых типов данных из этого интерфейса, которые очевидным образом переименовывают простые типы данных языка программирования С. |
||
typedef char CHAR; typedef unsigned char UCHAR; typedef UCHAR *PUCHAR; typedef unsigned char BYTE; typedef BYTE *PBYTE; typedef BYTE *LPBYTE; typedef short SHORT; typedef unsigned short USHORT; typedef USHORT *PUSHORT; typedef unsigned short WORD; typedef WORD * PWORD; typedef WORD *LPWORD;
typedef int INT; typedef int *PINT; typedef int *LPINT; typedef int BOOL; typedef BOOL *PBOOL; typedef BOOL *LPBCOL;
typedef unsigned int UINT; typedef unsigned int *PUINT;
typedef long LONG; typedef long *LPLONG;
typedef unsigned long ULONG; typedef ULONG *PULONG; typedef unsigned long DWORD; typedef DWORD * PDWORD; typedef DWORD *LPDWORD; typedef float FLOAT; typedef FLOAT *PFLOAT; typedef void *LPVOID; typedef CONST void *LPCVOID; |
||
Остальные простые типы данных, определенные в интерфейсе Win32 API, имеют, как правило, специфическое назначение и поэтому они будут описаны при их использовании. #ifndef FALSE #define FALSE 0 #endif
#ifndef TRUE #define TRUE 1 #endif В интерфейсе Win32 API также определено множество сложных типов данных, таких как структуры и перечисления. Как правило, эти типы данных имеют специфическое назначение и поэтому будут описаны при их непосредственном использовании. |
||
5 |