К Т П           План занятия                                                              1                                           Страницы  | 1 | | 2 | | 3 | | 4 | | 5 | | 6 | | 7 | | 8 | | 9 |

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, имеют, как правило, специфическое назначение и поэтому они будут описаны при их использовании.
Кроме того, в интерфейсе Win32 API определены символические константы false и true для обозначения соответственно ложного и истинного логических значений. Определения этих констант приведены ниже.

#ifndef FALSE

#define FALSE 0

#endif

 

#ifndef TRUE

#define TRUE 1

#endif

В интерфейсе Win32 API также определено множество сложных типов дан­ных, таких как структуры и перечисления. Как правило, эти типы данных имеют специфическое назначение и поэтому будут описаны при их непо­средственном использовании.


Предыдущая        В начало страницы       Следующая
5