The data types supported by Windows are used to define function return values, function and message
parameters, and structure members. They define the size and meaning of these elements. For more information about
the underlying C/C++ data types, see
Data Type Ranges.

The following table contains the following types: character, integer, Boolean, pointer, and handle. The
character, integer, and Boolean types are common to most C compilers. Most of the pointer-type names begin with a
prefix of P or LP. Handles refer to a resource that has been loaded into memory.

CALLBACK, WINAPI, and
APIENTRY are all used to define functions with the __stdcall calling convention.
Most functions in the Windows API are declared using WINAPI. You may wish to use
CALLBACK for the callback functions that you implement to help identify the
function as a callback function.

The red, green, blue (RGB) color value (32 bits). See
COLORREF for information on this type.

This type is declared in WinDef.h as follows:

typedef DWORD COLORREF;

CONST

A variable whose value is to remain constant during execution.

This type is declared in WinDef.h as follows:

#define CONST const

DWORD

A 32-bit unsigned integer. The range is 0 through 4294967295 decimal.

This type is declared in IntSafe.h as follows:

typedef unsigned long DWORD;

DWORDLONG

A 64-bit unsigned integer. The range is 0 through 18446744073709551615 decimal.

This type is declared in IntSafe.h as follows:

typedef unsigned __int64 DWORDLONG;

DWORD_PTR

An unsigned long type for pointer precision. Use when casting a pointer to a long type to perform pointer
arithmetic. (Also commonly used for general 32-bit parameters that have been extended to 64 bits in 64-bit
Windows.)

CALLBACK, WINAPI, and
APIENTRY are all used to define functions with the __stdcall calling convention.
Most functions in the Windows API are declared using WINAPI. You may wish to use
CALLBACK for the callback functions that you implement to help identify the
function as a callback function.