Типы данных Windows

типы данных, поддерживаемые Windows, используются для определения возвращаемых функцией значений, параметров функций и сообщений, а также членов структуры. Они определяют размер и значение этих элементов. Дополнительные сведения о базовых типах данных C/C++ см. в разделе диапазоны типов данных.

Следующая таблица содержит следующие типы: символ, целое число, логическое значение, указатель и маркер. Типы символьных, целочисленных и логических типов являются общими для большинства компиляторов C. Большинство имен типов указателей начинаются с префикса P или LP. Дескрипторы ссылаются на ресурс, который был загружен в память.

Дополнительные сведения об обработке 64-разрядных целых чисел см. в разделе большие целые числа.

Тип данных Описание
апиентри Соглашение о вызовах для системных функций.
Этот тип объявляется в Виндеф. h следующим образом:
#define APIENTRY WINAPI
АТОМАР Atom. Дополнительные сведения см. в разделе о таблицах Atom.
Этот тип объявляется в Виндеф. h следующим образом:
typedef WORD ATOM;
ЛОГИЧЕСКОМ Логическая переменная (должна иметь значение true или false).
Этот тип объявляется в Виндеф. h следующим образом:
typedef int BOOL;
ЛОГИЧЕСКАЯ Логическая переменная (должна иметь значение true или false).
Этот тип объявлен в WinNT. h следующим образом:
typedef BYTE BOOLEAN;
ДВУХБАЙТОВЫХ Байт (8 бит).
Этот тип объявляется в Виндеф. h следующим образом:
typedef unsigned char BYTE;
ОБРАТНОГО вызова Соглашение о вызовах для функций обратного вызова.
Этот тип объявляется в Виндеф. h следующим образом:
#define CALLBACK __stdcall
Функции callback, WinAPIи апиентри используются для определения функций с помощью соглашения о вызовах __stdcall. большинство функций в API Windows объявляются с помощью WINAPI. Вы можете использовать обратный вызов для функций обратного вызова, которые реализуются, чтобы определить функцию как функцию обратного вызова.
CCHAR 8-разрядный символ Windows (ANSI).
Этот тип объявлен в WinNT. h следующим образом:
typedef char CCHAR;
ТИПА 8-разрядный символ Windows (ANSI). Дополнительные сведения см. в разделе наборы символов, используемые шрифтами.
Этот тип объявлен в WinNT. h следующим образом:
typedef char CHAR;
COLORREF Значение цвета красного, зеленого, синего (RGB) (32 бит). Сведения об этом типе см. в разделе COLORREF .
Этот тип объявляется в Виндеф. h следующим образом:
typedef DWORD COLORREF;
ПОСТОЯННОГО Переменная, значение которой остается постоянной во время выполнения.
Этот тип объявляется в Виндеф. h следующим образом:
#define CONST const
DWORD 32-разрядное целое число без знака. Диапазон — от 0 до 4294967295 десятичных знаков.
Этот тип объявляется в Интсафе. h следующим образом:
typedef unsigned long DWORD;
ОБЪЕКТА DWORDLONG 64-разрядное целое число без знака. Диапазон — от 0 до 18446744073709551615 Decimal.
Этот тип объявляется в Интсафе. h следующим образом:
typedef unsigned __int64 DWORDLONG;
DWORD_PTR Тип long без знака для точности указателя. Используется при приведении указателя к длинному типу для выполнения арифметических операций с указателями. (Также часто используется для общих 32-разрядных параметров, которые были расширены до 64 бит в 64-разрядной Windows.)
Этот тип объявляется в Басетсд. h следующим образом:
typedef ULONG_PTR DWORD_PTR;
DWORD32 32-разрядное целое число без знака.
Этот тип объявляется в Басетсд. h следующим образом:
typedef unsigned int DWORD32;
DWORD64 64-разрядное целое число без знака.
Этот тип объявляется в Басетсд. h следующим образом:
typedef unsigned __int64 DWORD64;
СДЕЛАТЬ Переменная с плавающей запятой.
Этот тип объявляется в Виндеф. h следующим образом:
typedef float FLOAT;
хакцел Маркер для таблицы сочетаний клавиш.
Этот тип объявляется в Виндеф. h следующим образом:
typedef HANDLE HACCEL;
HALF_PTR Половина размера указателя. Используйте в структуре, содержащей указатель и два маленьких поля.
Этот тип объявляется в Басетсд. h следующим образом:
C++
#ifdef _WIN64
 typedef int HALF_PTR;
#else
 typedef short HALF_PTR;
#endif
СПРАВИТЬСЯ

Маркер объекта.

Этот тип объявлен в WinNT. h следующим образом:

typedef PVOID HANDLE;

хбитмап

Маркер точечного рисунка.

Этот тип объявляется в Виндеф. h следующим образом:

typedef HANDLE HBITMAP;

хбруш

Дескриптор кисти.

Этот тип объявляется в Виндеф. h следующим образом:

typedef HANDLE HBRUSH;

хколорспаце

Маркер цветового пространства.

Этот тип объявляется в Виндеф. h следующим образом:

typedef HANDLE HCOLORSPACE;

хконв

Маркер диалога динамического обмена данными (DDE).

Этот тип объявляется в Ддемл. h следующим образом:

typedef HANDLE HCONV;

хконвлист

Маркер для списка сеансов DDE.

Этот тип объявляется в Ддемл. h следующим образом:

typedef HANDLE HCONVLIST;

хкурсор

Указатель на курсор.

Этот тип объявляется в Виндеф. h следующим образом:

typedef HICON HCURSOR;

HDC

Маркер контекста устройства (DC).

Этот тип объявляется в Виндеф. h следующим образом:

typedef HANDLE HDC;

хддедата

Обработчик данных DDE.

Этот тип объявляется в Ддемл. h следующим образом:

typedef HANDLE HDDEDATA;

хдеск

Маркер рабочего стола.

Этот тип объявляется в Виндеф. h следующим образом:

typedef HANDLE HDESK;

HDROP

Маркер внутренней структуры перетаскивания.

Этот тип объявляется в Шеллапи. h следующим образом:

typedef HANDLE HDROP;

хдвп

Указатель на структуру отложенной позицией окна.

Этот тип объявлен в файле WinUser. h следующим образом:

typedef HANDLE HDWP;

хенхметафиле

Маркер расширенного метафайла.

Этот тип объявляется в Виндеф. h следующим образом:

typedef HANDLE HENHMETAFILE;

HFILE

Обработчик для файла, открытого с помощью OpenFile, а не CreateFile.

Этот тип объявляется в Виндеф. h следующим образом:

typedef int HFILE;

хфонт

Маркер для шрифта.

Этот тип объявляется в Виндеф. h следующим образом:

typedef HANDLE HFONT;

хгдиобж

Маркер объекта GDI.

Этот тип объявляется в Виндеф. h следующим образом:

typedef HANDLE HGDIOBJ;

хглобал

Маркер глобального блока памяти.

Этот тип объявляется в Виндеф. h следующим образом:

typedef HANDLE HGLOBAL;

ххук

Маркер обработчика.

Этот тип объявляется в Виндеф. h следующим образом:

typedef HANDLE HHOOK;

хикон

Маркер для значка.

Этот тип объявляется в Виндеф. h следующим образом:

typedef HANDLE HICON;

HINSTANCE

Маркер экземпляра. Это базовый адрес модуля в памяти.

Хмодуле и HINSTANCE уже сегодня, но в 16-разрядных Windows представлены различные вещи.

Этот тип объявляется в Виндеф. h следующим образом:

typedef HANDLE HINSTANCE;

HKEY

Маркер раздела реестра.

Этот тип объявляется в Виндеф. h следующим образом:

typedef HANDLE HKEY;

HKL

Идентификатор языка ввода.

Этот тип объявляется в Виндеф. h следующим образом:

typedef HANDLE HKL;

хлокал

Маркер локального блока памяти.

Этот тип объявляется в Виндеф. h следующим образом:

typedef HANDLE HLOCAL;

HMENU

Маркер меню.

Этот тип объявляется в Виндеф. h следующим образом:

typedef HANDLE HMENU;

хметафиле

Маркер для метафайла.

Этот тип объявляется в Виндеф. h следующим образом:

typedef HANDLE HMETAFILE;

хмодуле

Обработчик для модуля. — Это базовый адрес модуля в памяти.

хмодуле и HINSTANCE одинаковы в текущих версиях Windows, но в 16-разрядных Windows представлены различные вещи.

Этот тип объявляется в Виндеф. h следующим образом:

typedef HINSTANCE HMODULE;

хмонитор

Маркер монитора.

Этот тип объявляется в Виндеф. h следующим образом:

if(WINVER >= 0x0500) typedef HANDLE HMONITOR;

хпалетте

Маркер для палитры.

Этот тип объявляется в Виндеф. h следующим образом:

typedef HANDLE HPALETTE;

хпен

Указатель на перо.

Этот тип объявляется в Виндеф. h следующим образом:

typedef HANDLE HPEN;

СОСТАВ

Коды возврата, используемые интерфейсами COM. Дополнительные сведения см. в разделе структура кодов ошибок COM. Чтобы проверить значение HRESULT , Используйте макросы, Завершившиеся сбоем и Failed .

Этот тип объявлен в WinNT. h следующим образом:

typedef LONG HRESULT;

хргн

Маркер для региона.

Этот тип объявляется в Виндеф. h следующим образом:

typedef HANDLE HRGN;

хрсрк

Маркер ресурса.

Этот тип объявляется в Виндеф. h следующим образом:

typedef HANDLE HRSRC;

хсз

Маркер строки DDE.

Этот тип объявляется в Ддемл. h следующим образом:

typedef HANDLE HSZ;

хвинста

Обработчик оконной станции.

Этот тип объявляется в Виндеф. h следующим образом:

typedef HANDLE WINSTA;

HWND

Маркер окна.

Этот тип объявляется в Виндеф. h следующим образом:

typedef HANDLE HWND;

INT

32-разрядное знаковое целое число. Диапазон значений — от-2147483648 до 2147483647.

Этот тип объявляется в Виндеф. h следующим образом:

typedef int INT;

INT_PTR

Целочисленный тип со знаком для точности указателя. Используется при приведении указателя на целое число для выполнения арифметических операций с указателями.

Этот тип объявляется в Басетсд. h следующим образом:

C++
#if defined(_WIN64) 
 typedef __int64 INT_PTR; 
#else 
 typedef int INT_PTR;
#endif
INT8

8-битовое целое число со знаком.

Этот тип объявляется в Басетсд. h следующим образом:

typedef signed char INT8;

INT16

16-разрядное знаковое целое число.

Этот тип объявляется в Басетсд. h следующим образом:

typedef signed short INT16;

ТИПА

32-разрядное знаковое целое число. Диапазон значений — от-2147483648 до 2147483647.

Этот тип объявляется в Басетсд. h следующим образом:

typedef signed int INT32;

INT64

64-разрядное целое число со знаком. Диапазон составляет от-9223372036854775808 до 9223372036854775807 десятичного числа.

Этот тип объявляется в Басетсд. h следующим образом:

typedef signed __int64 INT64;

НАДЕЖНО

Идентификатор языка. Дополнительные сведения см. в разделе идентификаторы языков.

Этот тип объявлен в WinNT. h следующим образом:

typedef WORD LANGID;

НАМНОГО

Идентификатор локали. Дополнительные сведения см. в разделе идентификаторы языкового стандарта.

Этот тип объявлен в WinNT. h следующим образом:

typedef DWORD LCID;

LCTYPE

Тип сведений о языковых стандартах. Список см. в разделе константы сведений о языковых стандартах.

Этот тип объявляется в Виннлс. h следующим образом:

typedef DWORD LCTYPE;

лгрпид

Идентификатор языковой группы. Список см. в разделе енумлангуажеграуплокалес.

Этот тип объявляется в Виннлс. h следующим образом:

typedef DWORD LGRPID;

ПОДДЕРЖИВАЕМ

32-разрядное знаковое целое число. Диапазон значений — от-2147483648 до 2147483647.

Этот тип объявлен в WinNT. h следующим образом:

typedef long LONG;

лонглонг

64-разрядное целое число со знаком. Диапазон составляет от-9223372036854775808 до 9223372036854775807 десятичного числа.

Этот тип объявлен в WinNT. h следующим образом:

C++
#if !defined(_M_IX86)
 typedef __int64 LONGLONG; 
#else
 typedef double LONGLONG;
#endif
LONG_PTR

Длинный тип со знаком для точности указателя. Используется при приведении указателя к типу long для выполнения арифметических операций с указателями.

Этот тип объявляется в Басетсд. h следующим образом:

C++
#if defined(_WIN64)
 typedef __int64 LONG_PTR; 
#else
 typedef long LONG_PTR;
#endif
LONG32

32-разрядное знаковое целое число. Диапазон значений — от-2147483648 до 2147483647.

Этот тип объявляется в Басетсд. h следующим образом:

typedef signed int LONG32;

LONG64

64-разрядное целое число со знаком. Диапазон составляет от-9223372036854775808 до 9223372036854775807 десятичного числа.

Этот тип объявляется в Басетсд. h следующим образом:

typedef __int64 LONG64;

LPARAM

Параметр сообщения.

Этот тип объявляется в Виндеф. h следующим образом:

typedef LONG_PTR LPARAM;

лпбул

Указатель на логическоезначение.

Этот тип объявляется в Виндеф. h следующим образом:

typedef BOOL far *LPBOOL;

LPBYTE

Указатель на байт.

Этот тип объявляется в Виндеф. h следующим образом:

typedef BYTE far *LPBYTE;

лпколорреф

Указатель на значение COLORREF .

Этот тип объявляется в Виндеф. h следующим образом:

typedef DWORD *LPCOLORREF;

LPCSTR

указатель на константную строку, завершающуюся нулем, в 8-разрядной Windows (ANSI) символов. Дополнительные сведения см. в разделе наборы символов, используемые шрифтами.

Этот тип объявлен в WinNT. h следующим образом:

typedef __nullterminated CONST CHAR *LPCSTR;

LPCTSTR

Лпквстр , если определен Юникод , LPCSTR в противном случае. дополнительные сведения см. в разделе Windows типы данных для строк.

Этот тип объявлен в WinNT. h следующим образом:

C++
#ifdef UNICODE
 typedef LPCWSTR LPCTSTR; 
#else
 typedef LPCSTR LPCTSTR;
#endif
лпквоид

Указатель на константу любого типа.

Этот тип объявляется в Виндеф. h следующим образом:

typedef CONST void *LPCVOID;

лпквстр

Указатель на константную строку из 16-разрядных символов Юникода, завершающуюся нулем. Дополнительные сведения см. в разделе наборы символов, используемые шрифтами.

Этот тип объявлен в WinNT. h следующим образом:

typedef CONST WCHAR *LPCWSTR;

лпдворд

Указатель на DWORD.

Этот тип объявляется в Виндеф. h следующим образом:

typedef DWORD *LPDWORD;

лфандле

Указатель на маркер.

Этот тип объявляется в Виндеф. h следующим образом:

typedef HANDLE *LPHANDLE;

лпинт

Указатель на тип int.

Этот тип объявляется в Виндеф. h следующим образом:

typedef int *LPINT;

лплонг

Указатель на значение типа Long.

Этот тип объявляется в Виндеф. h следующим образом:

typedef long *LPLONG;

LPSTR

указатель на строку, завершающуюся нулем или 8-разрядную Windows (ANSI) символов. Дополнительные сведения см. в разделе наборы символов, используемые шрифтами.

Этот тип объявлен в WinNT. h следующим образом:

typedef CHAR *LPSTR;

LPTSTR

LPWSTR , если определен Юникод , LPSTR в противном случае. дополнительные сведения см. в разделе Windows типы данных для строк.

Этот тип объявлен в WinNT. h следующим образом:

C++
#ifdef UNICODE
 typedef LPWSTR LPTSTR;
#else
 typedef LPSTR LPTSTR;
#endif
лпвоид

Указатель на любой тип.

Этот тип объявляется в Виндеф. h следующим образом:

typedef void *LPVOID;

лпворд

Указатель на слово.

Этот тип объявляется в Виндеф. h следующим образом:

typedef WORD *LPWORD;

LPWSTR

Указатель на строку из 16-разрядных символов Юникода, завершающуюся нулем. Дополнительные сведения см. в разделе наборы символов, используемые шрифтами.

Этот тип объявлен в WinNT. h следующим образом:

typedef WCHAR *LPWSTR;

LRESULT

Подписанный результат обработки сообщения.

Этот тип объявляется в Виндеф. h следующим образом:

typedef LONG_PTR LRESULT;

пбул

Указатель на логическоезначение.

Этот тип объявляется в Виндеф. h следующим образом:

typedef BOOL *PBOOL;

пбулеан

Указатель на логическое значение.

Этот тип объявлен в WinNT. h следующим образом:

typedef BOOLEAN *PBOOLEAN;

пбите

Указатель на байт.

Этот тип объявляется в Виндеф. h следующим образом:

typedef BYTE *PBYTE;

пчар

Указатель на символ.

Этот тип объявлен в WinNT. h следующим образом:

typedef CHAR *PCHAR;

пкстр

указатель на константную строку, завершающуюся нулем, в 8-разрядной Windows (ANSI) символов. Дополнительные сведения см. в разделе наборы символов, используемые шрифтами.

Этот тип объявлен в WinNT. h следующим образом:

typedef CONST CHAR *PCSTR;

пктстр

Пквстр , если определен Юникод , пкстр в противном случае. дополнительные сведения см. в разделе Windows типы данных для строк.

Этот тип объявлен в WinNT. h следующим образом:

C++
#ifdef UNICODE
 typedef LPCWSTR PCTSTR;
#else
 typedef LPCSTR PCTSTR;
#endif
пквстр

Указатель на константную строку из 16-разрядных символов Юникода, завершающуюся нулем. Дополнительные сведения см. в разделе наборы символов, используемые шрифтами.

Этот тип объявлен в WinNT. h следующим образом:

typedef CONST WCHAR *PCWSTR;

пдворд

Указатель на DWORD.

Этот тип объявляется в Виндеф. h следующим образом:

typedef DWORD *PDWORD;

пдвордлонг

Указатель на объекта dwordlong.

Этот тип объявлен в WinNT. h следующим образом:

typedef DWORDLONG *PDWORDLONG;

PDWORD_PTR

Указатель на DWORD_PTR.

Этот тип объявляется в Басетсд. h следующим образом:

typedef DWORD_PTR *PDWORD_PTR;

PDWORD32

Указатель на DWORD32.

Этот тип объявляется в Басетсд. h следующим образом:

typedef DWORD32 *PDWORD32;

PDWORD64

Указатель на DWORD64.

Этот тип объявляется в Басетсд. h следующим образом:

typedef DWORD64 *PDWORD64;

пфлоат

Указатель на число с плавающей запятой.

Этот тип объявляется в Виндеф. h следующим образом:

typedef FLOAT *PFLOAT;

PHALF_PTR

Указатель на HALF_PTR.

Этот тип объявляется в Басетсд. h следующим образом:

C++
#ifdef _WIN64
 typedef HALF_PTR *PHALF_PTR;
#else
 typedef HALF_PTR *PHALF_PTR;
#endif
фандле

Указатель на маркер.

Этот тип объявлен в WinNT. h следующим образом:

typedef HANDLE *PHANDLE;

фкэй

Указатель на hKey.

Этот тип объявляется в Виндеф. h следующим образом:

typedef HKEY *PHKEY;

КОМАНДУ

Указатель на тип int.

Этот тип объявляется в Виндеф. h следующим образом:

typedef int *PINT;

PINT_PTR

Указатель на INT_PTR.

Этот тип объявляется в Басетсд. h следующим образом:

typedef INT_PTR *PINT_PTR;

PINT8

Указатель на INT8.

Этот тип объявляется в Басетсд. h следующим образом:

typedef INT8 *PINT8;

PINT16

Указатель на значение INT16.

Этот тип объявляется в Басетсд. h следующим образом:

typedef INT16 *PINT16;

PINT32

Указатель на Int32.

Этот тип объявляется в Басетсд. h следующим образом:

typedef INT32 *PINT32;

PINT64

Указатель на Int64.

Этот тип объявляется в Басетсд. h следующим образом:

typedef INT64 *PINT64;

плЦид

Указатель на код языка.

Этот тип объявлен в WinNT. h следующим образом:

typedef PDWORD PLCID;

плонг

Указатель на значение типа Long.

Этот тип объявлен в WinNT. h следующим образом:

typedef LONG *PLONG;

плонглонг

Указатель на лонглонг.

Этот тип объявлен в WinNT. h следующим образом:

typedef LONGLONG *PLONGLONG;

PLONG_PTR

Указатель на LONG_PTR.

Этот тип объявляется в Басетсд. h следующим образом:

typedef LONG_PTR *PLONG_PTR;

PLONG32

Указатель на LONG32.

Этот тип объявляется в Басетсд. h следующим образом:

typedef LONG32 *PLONG32;

PLONG64

Указатель на LONG64.

Этот тип объявляется в Басетсд. h следующим образом:

typedef LONG64 *PLONG64;

POINTER_32

32-разрядный указатель. В 32-разрядной системе это собственный указатель. В 64-разрядной системе это усеченный 64-разрядный указатель.

Этот тип объявляется в Басетсд. h следующим образом:

C++
#if defined(_WIN64)
#define POINTER_32 __ptr32
#else
#define POINTER_32
#endif
POINTER_64

64-разрядный указатель. В 64-разрядной системе это собственный указатель. В 32-разрядной системе это расширенный по знаку 32-разрядный указатель.

Обратите внимание, что нельзя считать, что состояние старших битов указателя не является надежным.

Этот тип объявляется в Басетсд. h следующим образом:

C++
#if (_MSC_VER >= 1300)
#define POINTER_64 __ptr64
#else
#define POINTER_64
#endif
POINTER_SIGNED

Указатель со знаком.

Этот тип объявляется в Басетсд. h следующим образом:

#define POINTER_SIGNED __sptr

POINTER_UNSIGNED

Указатель без знака.

Этот тип объявляется в Басетсд. h следующим образом:

#define POINTER_UNSIGNED __uptr

пшорт

Указатель на короткий.

Этот тип объявлен в WinNT. h следующим образом:

typedef SHORT *PSHORT;

PSIZE_T

Указатель на SIZE_T.

Этот тип объявляется в Басетсд. h следующим образом:

typedef SIZE_T *PSIZE_T;

PSSIZE_T

Указатель на SSIZE_T.

Этот тип объявляется в Басетсд. h следующим образом:

typedef SSIZE_T *PSSIZE_T;

пстр

указатель на строку, завершающуюся нулем или 8-разрядную Windows (ANSI) символов. Дополнительные сведения см. в разделе наборы символов, используемые шрифтами.

Этот тип объявлен в WinNT. h следующим образом:

typedef CHAR *PSTR;

птбите

Указатель на тбите.

Этот тип объявлен в WinNT. h следующим образом:

typedef TBYTE *PTBYTE;

птчар

Указатель на TCHAR.

Этот тип объявлен в WinNT. h следующим образом:

typedef TCHAR *PTCHAR;

птстр

Пвстр , если определен Юникод , ПСТР в противном случае. дополнительные сведения см. в разделе Windows типы данных для строк.

Этот тип объявлен в WinNT. h следующим образом:

C++
#ifdef UNICODE
 typedef LPWSTR PTSTR;
#else typedef LPSTR PTSTR;
#endif
пучар

Указатель на Учар.

Этот тип объявляется в Виндеф. h следующим образом:

typedef UCHAR *PUCHAR;

PUHALF_PTR

Указатель на UHALF_PTR.

Этот тип объявляется в Басетсд. h следующим образом:

C++
#ifdef _WIN64
 typedef UHALF_PTR *PUHALF_PTR;
#else
 typedef UHALF_PTR *PUHALF_PTR;
#endif
пуинт

Указатель на uint.

Этот тип объявляется в Виндеф. h следующим образом:

typedef UINT *PUINT;

PUINT_PTR

Указатель на UINT_PTR.

Этот тип объявляется в Басетсд. h следующим образом:

typedef UINT_PTR *PUINT_PTR;

PUINT8

Указатель на UINT8.

Этот тип объявляется в Басетсд. h следующим образом:

typedef UINT8 *PUINT8;

PUINT16

Указатель на UINT16.

Этот тип объявляется в Басетсд. h следующим образом:

typedef UINT16 *PUINT16;

PUINT32

Указатель на UINT32.

Этот тип объявляется в Басетсд. h следующим образом:

typedef UINT32 *PUINT32;

PUINT64

Указатель на UINT64.

Этот тип объявляется в Басетсд. h следующим образом:

typedef UINT64 *PUINT64;

пулонг

Указатель на ulong.

Этот тип объявляется в Виндеф. h следующим образом:

typedef ULONG *PULONG;

пулонглонг

Указатель на улонглонг.

Этот тип объявляется в Виндеф. h следующим образом:

typedef ULONGLONG *PULONGLONG;

PULONG_PTR

Указатель на ULONG_PTR.

Этот тип объявляется в Басетсд. h следующим образом:

typedef ULONG_PTR *PULONG_PTR;

PULONG32

Указатель на ULONG32.

Этот тип объявляется в Басетсд. h следующим образом:

typedef ULONG32 *PULONG32;

PULONG64

Указатель на ULONG64.

Этот тип объявляется в Басетсд. h следующим образом:

typedef ULONG64 *PULONG64;

пушорт

Указатель на UShort.

Этот тип объявляется в Виндеф. h следующим образом:

typedef USHORT *PUSHORT;

PVOID

Указатель на любой тип.

Этот тип объявлен в WinNT. h следующим образом:

typedef void *PVOID;

пвчар

Указатель на WCHAR.

Этот тип объявлен в WinNT. h следующим образом:

typedef WCHAR *PWCHAR;

пворд

Указатель на слово.

Этот тип объявляется в Виндеф. h следующим образом:

typedef WORD *PWORD;

пвстр

Указатель на строку из 16-разрядных символов Юникода, завершающуюся нулем. Дополнительные сведения см. в разделе наборы символов, используемые шрифтами.

Этот тип объявлен в WinNT. h следующим образом:

typedef WCHAR *PWSTR;

QWORD

64-разрядное целое число без знака.

Этот тип объявляется следующим образом:

typedef unsigned __int64 QWORD;

SC_HANDLE

Маркер базы данных диспетчера управления службами. Дополнительные сведения см. в разделе дескрипторы SCM.

Этот тип объявляется в Винсвк. h следующим образом:

typedef HANDLE SC_HANDLE;

SC_LOCK

Блокировка базы данных диспетчера управления службами. Дополнительные сведения см. в разделе дескрипторы SCM.

Этот тип объявляется в Винсвк. h следующим образом:

typedef LPVOID SC_LOCK;

SERVICE_STATUS_HANDLE

Маркер для значения состояния службы. Дополнительные сведения см. в разделе дескрипторы SCM.

Этот тип объявляется в Винсвк. h следующим образом:

typedef HANDLE SERVICE_STATUS_HANDLE;

ПРОМЕЖУТОК

16-разрядное целое число. Диапазон значений — от-32768 до 32767.

Этот тип объявлен в WinNT. h следующим образом:

typedef short SHORT;

SIZE_T

Максимальное число байтов, на которое может указывать указатель. Используется для подсчета, который должен охватывать полный диапазон указателя.

Этот тип объявляется в Басетсд. h следующим образом:

typedef ULONG_PTR SIZE_T;

SSIZE_T

Подписанная версия SIZE_T.

Этот тип объявляется в Басетсд. h следующим образом:

typedef LONG_PTR SSIZE_T;

тбите

Значение WCHAR , если задан Юникод , в противном случае — символ .

Этот тип объявлен в WinNT. h следующим образом:

C++
#ifdef UNICODE
 typedef WCHAR TBYTE;
#else
 typedef unsigned char TBYTE;
#endif
ГОЛОВК

Значение WCHAR , если задан Юникод , в противном случае — символ .

Этот тип объявлен в WinNT. h следующим образом:

C++
#ifdef UNICODE
 typedef WCHAR TCHAR;
#else
 typedef char TCHAR;
#endif
учар

Знакбез знака.

Этот тип объявляется в Виндеф. h следующим образом:

typedef unsigned char UCHAR;

UHALF_PTR

HALF_PTRбез знака. Используйте в структуре, содержащей указатель и два маленьких поля.

Этот тип объявляется в Басетсд. h следующим образом:

C++
#ifdef _WIN64
 typedef unsigned int UHALF_PTR;
#else
 typedef unsigned short UHALF_PTR;
#endif
UINT

Целое число без знака. Диапазон — от 0 до 4294967295 десятичных знаков.

Этот тип объявляется в Виндеф. h следующим образом:

typedef unsigned int UINT;

UINT_PTR

INT_PTRбез знака.

Этот тип объявляется в Басетсд. h следующим образом:

C++
#if defined(_WIN64)
 typedef unsigned __int64 UINT_PTR;
#else
 typedef unsigned int UINT_PTR;
#endif
UINT8

INT8без знака.

Этот тип объявляется в Басетсд. h следующим образом:

typedef unsigned char UINT8;

UINT16

Неподписанная INT16.

Этот тип объявляется в Басетсд. h следующим образом:

typedef unsigned short UINT16;

ЗНАЧЕНИЕМ

Int32без знака. Диапазон — от 0 до 4294967295 десятичных знаков.

Этот тип объявляется в Басетсд. h следующим образом:

typedef unsigned int UINT32;

UINT64

Int64без знака. Диапазон — от 0 до 18446744073709551615 Decimal.

Этот тип объявляется в Басетсд. h следующим образом:

typedef usigned __int 64 UINT64;

ULONG

Длинноецелое без знака. Диапазон — от 0 до 4294967295 десятичных знаков.

Этот тип объявляется в Виндеф. h следующим образом:

typedef unsigned long ULONG;

улонглонг

64-разрядное целое число без знака. Диапазон — от 0 до 18446744073709551615 Decimal.

Этот тип объявлен в WinNT. h следующим образом:

C++
#if !defined(_M_IX86)
 typedef unsigned __int64 ULONGLONG;
#else
 typedef double ULONGLONG;
#endif
ULONG_PTR

LONG_PTRбез знака.

Этот тип объявляется в Басетсд. h следующим образом:

C++
#if defined(_WIN64)
 typedef unsigned __int64 ULONG_PTR;
#else
 typedef unsigned long ULONG_PTR;
#endif
ULONG32

Неподписанный LONG32. Диапазон — от 0 до 4294967295 десятичных знаков.

Этот тип объявляется в Басетсд. h следующим образом:

typedef unsigned int ULONG32;

ULONG64

Неподписанный LONG64. Диапазон — от 0 до 18446744073709551615 Decimal.

Этот тип объявляется в Басетсд. h следующим образом:

typedef unsigned __int64 ULONG64;

UNICODE_STRING

Строка Юникода.

Этот тип объявляется в Винтернл. h следующим образом:

C++
typedef struct _UNICODE_STRING {
  USHORT  Length;
  USHORT  MaximumLength;
  PWSTR  Buffer;
} UNICODE_STRING;
typedef UNICODE_STRING *PUNICODE_STRING;
typedef const UNICODE_STRING *PCUNICODE_STRING;
USHORT

Короткоецелое без знака. Диапазон — от 0 до 65535 десятичных знаков.

Этот тип объявляется в Виндеф. h следующим образом:

typedef unsigned short USHORT;

ЖУРНАЛЫ

Порядковый номер обновления (USN).

Этот тип объявлен в WinNT. h следующим образом:

typedef LONGLONG USN;

VOID

Любой тип.

Этот тип объявлен в WinNT. h следующим образом:

#define VOID void

WCHAR

16-разрядный символ Юникода. Дополнительные сведения см. в разделе наборы символов, используемые шрифтами.

Этот тип объявлен в WinNT. h следующим образом:

typedef wchar_t WCHAR;

WINAPI

Соглашение о вызовах для системных функций.

Этот тип объявляется в Виндеф. h следующим образом:

#define WINAPI __stdcall

Функции callback, WinAPIи апиентри используются для определения функций с помощью соглашения о вызовах __stdcall. большинство функций в API Windows объявляются с помощью WINAPI. Вы можете использовать обратный вызов для функций обратного вызова, которые реализуются, чтобы определить функцию как функцию обратного вызова.

СЛОВАМ

16-разрядное целое число без знака. Диапазон — от 0 до 65535 десятичных знаков.

Этот тип объявляется в Виндеф. h следующим образом:

typedef unsigned short WORD;

WPARAM

Параметр сообщения.

Этот тип объявляется в Виндеф. h следующим образом:

typedef UINT_PTR WPARAM;

Требования

Требование Значение
Минимальная версия клиента
Windows [Только классические приложения XP]
Минимальная версия сервера
Windows Только для [ настольных приложений сервера 2003]
Заголовок
Басетсд. h;
Виндеф. h;
Файл
Winnt. h