Various simple data types define the size and meaning of parameters,
return values, and members associated with the functions, messages, and
structures of Microsoft Windows. The following table contains character,
integer, and Boolean types; pointer types; and handles. The character,
integer, and Boolean types are common to most C compilers. Many of the
pointer-type names begin with a prefix of P or LP. A Windows-based application
uses a handle to refer to a resource that has been loaded into memory.
Windows provides access to these resources through internally maintained
tables that contain individual entries for each handle. Each entry in
the handle table contains the address of the resource and a means of identifying
the resource type.
| Type |
Definition |
| ABORTPROC |
Pointer to an application-defined callback function that the operating
system calls when a print job is to be cancelled during spooling.
See AbortProc for information on functions of this type. |
| APPLET_PROC |
Pointer to a library-defined callback function that is the entry
point for a Control Panel application. See CplApplet for information
on functions of this type. |
| ATOM |
Atom (a reference to a character string in an atom table). |
| BOOL |
Boolean variable (should be TRUE or FALSE). |
| BOOLEAN |
Boolean variable (should be TRUE or FALSE). |
| BYTE |
Byte (8 bits). |
| CCHAR |
Windows character. |
| CHAR |
Windows character. |
| COLORREF |
Red, green, blue (RGB) color value (32 bits). |
| CONST |
Variable whose value is to remain constant during execution. |
| CRITICAL_SECTION |
Critical-section object. |
| CTRYID |
Country identifier. |
| DLGPROC |
Pointer to an application-defined dialog box callback procedure. |
| DWORD |
Doubleword (32 bits). |
| DWORDLONG |
Double (64 bits). |
| EDITWORDBREAKPROC |
Pointer to an application-defined callback function that the operating
system calls when a multiline edit control needs to break a line of
text. See EditWordBreakProc for information on functions of this type. |
| ENHMFENUMPROC |
Pointer to an application-defined callback function that enumerates
enhanced-metafile records. |
| ENUMRESLANGPROC |
Pointer to an application-defined callback function that enumerates
resource languages. |
| ENUMRESNAMEPROC |
Pointer to an application-defined callback function that enumerates
resource names. |
| ENUMRESTYPEPROC |
Pointer to an application-defined callback function that enumerates
resource types. |
| FARPROC |
Pointer to a callback function. |
| FLOAT |
Floating-point variable. |
| FONTENUMPROC |
Pointer to an application-defined callback function that enumerates
fonts. |
| GLOBALHANDLE |
Handle of a global memory block. |
| GOBJENUMPROC |
Pointer to an application-defined callback function that enumerates
graphics device interface (GDI) objects. |
| GRAYSTRINGPROC |
Pointer to an application-defined callback function that draws gray
text. |
| HACCEL |
Handle of an accelerator table. |
| HANDLE |
Handle of an object. |
| HBITMAP |
Handle of a bitmap. |
| HBRUSH |
Handle of a brush. |
| HCOLORSPACE |
Windows 95 only: Handle of a logical color space. |
| HCONV |
Handle of a dynamic data exchange (DDE) conversation. |
| HCONVLIST |
Handle of a DDE conversation list. |
| HCURSOR |
Handle of a cursor. |
| HDC |
Handle of a device context (DC). |
| HDDEDATA |
Handle of DDE data. |
| HDWP |
Handle of a deferred window position structure. |
| HENHMETAFILE |
Handle of an enhanced metafile. |
| HFILE |
Handle of a file. |
| HFONT |
Handle of a font. |
| HGDIOBJ |
Handle of a GDI object. |
| HGLOBAL |
Handle of a global memory block. |
| HHOOK |
Handle of a hook. |
| HICON |
Handle of an icon. |
| HIMAGELIST |
Handle to an image list. |
| HINSTANCE |
Handle of an instance. |
| HKEY |
Handle of a registry key. |
| HKL |
Windows 95 only: Handle of a keyboard layout. |
| HLOCAL |
Handle of a local memory block. |
| HMENU |
Handle of a menu. |
| HMETAFILE |
Handle of a metafile. |
| HMODULE |
Handle of a module. |
| HOOKPROC |
Pointer to an application-defined hook function. |
| HPALETTE |
Handle of a palette. |
| HPEN |
Handle of a pen. |
| HRGN |
Handle of a region. |
| HRSRC |
Handle of a resource. |
| HSZ |
Handle of a DDE string. |
| HWINSTA |
Handle of a workstation. |
| HWND |
Handle of a window. |
| INT |
Signed integer. |
| LANGID |
Language identifier. |
| LCID |
Locale identifier. |
| LCTYPE |
Locale type. |
| LINEDDAPROC |
Pointer to a callback function that processes line coordinates. |
| LOCALHANDLE |
Handle of a local memory block. |
| LONG |
32-bit signed value. |
| LONGLONG |
Double (64 bits). |
| LP |
Pointer to a null-terminated UnicodeT string. |
| LPARAM |
32-bit message parameter. |
| LPBOOL |
Pointer to a Boolean variable. |
| LPBYTE |
Pointer to a byte. |
| LPCCH |
Pointer to a constant Windows character. |
| LPCCHOOKPROC |
Pointer to an application-defined hook function. |
| LPCFHOOKPROC |
Pointer to an application-defined hook function. |
| LPCH |
Pointer to a Windows character. |
| LPCOLORREF |
Pointer to a COLORREF value. |
| LPCRITICAL_SECTION |
Pointer to a critical-section object. |
| LPCSTR |
Pointer to a constant null-terminated Windows character string. |
| LPCTSTR |
Pointer to a constant null-terminated Unicode or Windows character
string. |
| LPCWCH |
Pointer to a constant null-terminated Unicode character. |
| LPCWSTR |
Pointer to a constant null-terminated Unicode character string. |
| LPDWORD |
Pointer to an unsigned doubleword (32 bits). |
| LPFRHOOKPROC |
Pointer to an application-defined hook function. |
| LPHANDLE |
Pointer to a handle. |
| LPHANDLER_FUNCTION |
Pointer to a handler function. |
| LPINT |
Pointer to a signed integer. |
| LPLONG |
Pointer to a signed long (32 bits). |
| LPOFNHOOKPROC |
Pointer to an application-defined hook function. |
| LPPRINTHOOKPROC |
Pointer to an application-defined hook function. |
| LPSETUPHOOKPROC |
Pointer to an application-defined hook function. |
| LPSTR |
Pointer to a null-terminated Windows character string. |
| LPTCH |
Pointer to a Unicode character or a Windows character. |
| LPTSTR |
Pointer to a null-terminated Windows or Unicode character string. |
| LRESULT |
Signed result of message processing. |
| LPVOID |
Pointer to any type. |
| LPWCH |
Pointer to a Unicode character. |
| LPWORD |
Pointer to an unsigned word (16 bits). |
| LPWSTR |
Pointer to a null-terminated Unicode character string. |
| LUID |
Locally unique identifier. |
| MFENUMPROC |
Pointer to an application-defined callback function that enumerates
metafile records. |
| NPSTR |
Pointer to a null-terminated Windows character string. |
| NWPSTR |
Pointer to a null-terminated Unicode string. |
| PBOOL |
Pointer to a Boolean variable. |
| PBOOLEAN |
Pointer to a Boolean variable. |
| PBYTE |
Pointer to a byte. |
| PCCH |
Pointer to a constant Windows character. |
| PCH |
Pointer to a Windows character. |
| PCHAR |
Pointer to a Windows character. |
| PCRITICAL_SECTION |
Pointer to a critical-section object. |
| PCSTR |
Pointer to a constant null-terminated Windows character string. |
| PCWCH |
Pointer to a constant Unicode character. |
| PCWSTR |
Pointer to a constant null-terminated Unicode character string. |
| PDWORD |
Pointer to an unsigned doubleword (32 bits). |
| PFLOAT |
Pointer to a floating-point variable. |
| PFNCALLBACK |
Pointer to a callback function. |
| PHANDLE |
Pointer to a handle. |
| PHANDLER_ROUTINE |
Pointer to a handler routine. |
| PHKEY |
Pointer to a registry key. |
| PINT |
Pointer to a signed integer. |
| PLCID |
Pointer to a locale identifier. |
| PLONG |
Pointer to a signed long (32 bits). |
| PLUID |
Pointer to a locally unique identifier (LUID). |
| PROC |
Pointer to a callback function. |
| PROPENUMPROC |
Pointer to an application-defined callback function that enumerates
window properties. See PropEnumProc for information on functions of
this type. |
| PROPENUMPROCEX |
Pointer to an application-defined callback function that enumerates
window properties. See PropEnumProcEx for information on functions
of this type. |
| PSHORT |
Pointer to a signed short (16 bits). |
| PSID |
Pointer to a security identifier (SID). |
| PSTR |
Pointer to a null-terminated Windows character string. |
| PSZ |
Pointer to a null-terminated Windows character string. |
| PTBYTE |
Pointer to a Windows or Unicode character. |
| PTCH |
Pointer to a Windows or Unicode character. |
| PTCHAR |
Pointer to a Windows or Unicode character. |
| PTSTR |
Pointer to a null-terminated Windows or Unicode character string. |
| PUCHAR |
Pointer to an unsigned Windows character. |
| PUINT |
Pointer to an unsigned integer. |
| PULONG |
Pointer to an unsigned long (32 bits). |
| PUSHORT |
Pointer to an unsigned short (16 bits). |
| PVOID |
Pointer to any type. |
| PWCH |
Pointer to a Unicode character. |
| PWCHAR |
Pointer to a Unicode character. |
| PWORD |
Pointer to an unsigned word (16 bits). |
| PWSTR |
Pointer to a null-terminated Unicode character string. |
| REGSAM |
Security access mask for registry key. |
| SC_HANDLE |
Handle of a service. |
| SENDASYNCPROC |
Pointer to an application-defined callback function that the operating
system calls when the SendMessageCallback function is called. The
system passes the message to the callback function after passing the
message to the destination window procedure. See SendAsyncProc for
information on functions of this type. |
| SERVICE_STATUS_HANDLE |
Handle of a service status value. |
| SHORT |
Short integer. |
| SPHANDLE |
Pointer to a handle. |
| TBYTE |
Windows or Unicode character. |
| TCHAR |
Unicode character or Windows character. |
| TIMERPROC |
Pointer to an application-defined timer callback function. |
| UCHAR |
Unsigned Windows character. |
| UINT |
Unsigned integer. |
| ULONG |
Unsigned long integer (32 bits). |
| USHORT |
Unsigned short integer (16 bits). |
| VOID |
Any type. |
| WCHAR |
Unicode character. |
| WNDENUMPROC |
Pointer to an application-defined callback function that enumerates
windows. |
| WNDPROC |
Pointer to an application-defined window procedure. |
| WORD |
Unsigned word (16 bits). |
| WPARAM |
32-bit message parameter. |
| YIELDPROC |
Pointer to a yield callback function. |