WindowsDataTypes - Petewg/harbour-core GitHub Wiki

Data type Description
APIENTRY The calling convention for system functions. Header file: WinDef.h --> #define APIENTRY WINAPI
ATOM An atom. For more information, see About Atom Tables. Header file: WinDef.h --> typedef WORD ATOM;
BOOL A Boolean variable (should be TRUE or FALSE). Header file: WinDef.h --> typedef int BOOL;
BOOLEAN A Boolean variable (should be TRUE or FALSE). Header file: WinNT.h --> typedef BYTE BOOLEAN;
BYTE A byte (8 bits). Header file: WinDef.h --> typedef unsigned char BYTE;
CALLBACK The calling convention for callback functions. Header file: WinDef.h --> #define CALLBACK __stdcallCALLBACK, 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.
CCHAR An 8-bit Windows (ANSI) character. Header file: WinNT.h --> typedef char CCHAR;
CHAR An 8-bit Windows (ANSI) character. For more information, see Character Sets Used By Fonts. Header file: WinNT.h --> typedef char CHAR;
COLORREF The red, green, blue (RGB) color value (32 bits). See COLORREF for information on this type. Header file: WinDef.h --> typedef DWORD COLORREF;
CONST A variable whose value is to remain constant during execution. Header file: WinDef.h --> #define CONST const
DWORD A 32-bit unsigned integer. The range is 0 through 4294967295 decimal. Header file: IntSafe.h --> typedef unsigned long DWORD;
DWORDLONG A 64-bit unsigned integer. The range is 0 through 18446744073709551615 decimal. Header file: IntSafe.h --> 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.)Header file: BaseTsd.h --> typedef ULONG_PTR DWORD_PTR;
DWORD32 A 32-bit unsigned integer. Header file: BaseTsd.h --> typedef unsigned int DWORD32;
DWORD64 A 64-bit unsigned integer. Header file: BaseTsd.h --> typedef unsigned __int64 DWORD64;
FLOAT A floating-point variable. Header file: WinDef.h --> typedef float FLOAT;
HACCEL A handle to an accelerator table. Header file: WinDef.h --> typedef HANDLE HACCEL;
HALF_PTR Half the size of a pointer. Use within a structure that contains a pointer and two small fields. Header file: BaseTsd.h --> C++ #ifdef _WIN64typedef int HALF_PTR;#elsetypedef short HALF_PTR;#endif
HANDLE A handle to an object. Header file: WinNT.h --> typedef PVOID HANDLE;
HBITMAP A handle to a bitmap. Header file: WinDef.h --> typedef HANDLE HBITMAP;
HBRUSH A handle to a brush. Header file: WinDef.h --> typedef HANDLE HBRUSH;
HCOLORSPACE A handle to a color space. Header file: WinDef.h --> typedef HANDLE HCOLORSPACE;
HCONV A handle to a dynamic data exchange (DDE) conversation. Header file: Ddeml.h --> typedef HANDLE HCONV;
HCONVLIST A handle to a DDE conversation list. Header file: Ddeml.h --> typedef HANDLE HCONVLIST;
HCURSOR A handle to a cursor. Header file: WinDef.h --> typedef HICON HCURSOR;
HDC A handle to a device context (DC). Header file: WinDef.h --> typedef HANDLE HDC;
HDDEDATA A handle to DDE data. Header file: Ddeml.h --> typedef HANDLE HDDEDATA;
HDESK A handle to a desktop. Header file: WinDef.h --> typedef HANDLE HDESK;
HDROP A handle to an internal drop structure. Header file: ShellApi.h --> typedef HANDLE HDROP;
HDWP A handle to a deferred window position structure. Header file: WinUser.h --> typedef HANDLE HDWP;
HENHMETAFILE A handle to an enhanced metafile. Header file: WinDef.h --> typedef HANDLE HENHMETAFILE;
HFILE A handle to a file opened by OpenFile, not CreateFile. Header file: WinDef.h --> typedef int HFILE;
HFONT A handle to a font. Header file: WinDef.h --> typedef HANDLE HFONT;
HGDIOBJ A handle to a GDI object. Header file: WinDef.h --> typedef HANDLE HGDIOBJ;
HGLOBAL A handle to a global memory block. Header file: WinDef.h --> typedef HANDLE HGLOBAL;
HHOOK A handle to a hook. Header file: WinDef.h --> typedef HANDLE HHOOK;
HICON A handle to an icon. Header file: WinDef.h --> typedef HANDLE HICON;
HINSTANCE A handle to an instance. This is the base address of the module in memory.HMODULE and HINSTANCE are the same today, but represented different things in 16-bit Windows. Header file: WinDef.h --> typedef HANDLE HINSTANCE;
HKEY A handle to a registry key. Header file: WinDef.h --> typedef HANDLE HKEY;
HKL An input locale identifier. Header file: WinDef.h --> typedef HANDLE HKL;
HLOCAL A handle to a local memory block. Header file: WinDef.h --> typedef HANDLE HLOCAL;
HMENU A handle to a menu. Header file: WinDef.h --> typedef HANDLE HMENU;
HMETAFILE A handle to a metafile. Header file: WinDef.h --> typedef HANDLE HMETAFILE;
HMODULE A handle to a module. The is the base address of the module in memory.HMODULE and HINSTANCE are the same in current versions of Windows, but represented different things in 16-bit Windows. Header file: WinDef.h --> typedef HINSTANCE HMODULE;
HMONITOR A handle to a display monitor. Header file: WinDef.h --> if(WINVER >= 0x0500) typedef HANDLE HMONITOR;
HPALETTE A handle to a palette. Header file: WinDef.h --> typedef HANDLE HPALETTE;
HPEN A handle to a pen. Header file: WinDef.h --> typedef HANDLE HPEN;
HRESULT The return codes used by COM interfaces. For more information, see Structure of the COM Error Codes. To test an HRESULT value, use the FAILED and SUCCEEDED macros. Header file: WinNT.h --> typedef LONG HRESULT;
HRGN A handle to a region. Header file: WinDef.h --> typedef HANDLE HRGN;
HRSRC A handle to a resource. Header file: WinDef.h --> typedef HANDLE HRSRC;
HSZ A handle to a DDE string. Header file: Ddeml.h --> typedef HANDLE HSZ;
HWINSTA A handle to a window station. Header file: WinDef.h --> typedef HANDLE WINSTA;
HWND A handle to a window. Header file: WinDef.h --> typedef HANDLE HWND;
INT A 32-bit signed integer. The range is -2147483648 through 2147483647 decimal. Header file: WinDef.h --> typedef int INT;
INT_PTR A signed integer type for pointer precision. Use when casting a pointer to an integer to perform pointer arithmetic. Header file: BaseTsd.h --> C++ #if defined(_WIN64) typedef __int64 INT_PTR; #else typedef int INT_PTR;#endif
INT8 An 8-bit signed integer. Header file: BaseTsd.h --> typedef signed char INT8;
INT16 A 16-bit signed integer. Header file: BaseTsd.h --> typedef signed short INT16;
INT32 A 32-bit signed integer. The range is -2147483648 through 2147483647 decimal. Header file: BaseTsd.h --> typedef signed int INT32;
INT64 A 64-bit signed integer. The range is –9223372036854775808 through 9223372036854775807 decimal. Header file: BaseTsd.h --> typedef signed __int64 INT64;
LANGID A language identifier. For more information, see Language Identifiers. Header file: WinNT.h --> typedef WORD LANGID;
LCID A locale identifier. For more information, see Locale Identifiers. Header file: WinNT.h --> typedef DWORD LCID;
LCTYPE A locale information type. For a list, see Locale Information Constants. Header file: WinNls.h --> typedef DWORD LCTYPE;
LGRPID A language group identifier. For a list, see EnumLanguageGroupLocales. Header file: WinNls.h --> typedef DWORD LGRPID;
LONG A 32-bit signed integer. The range is –2147483648 through 2147483647 decimal. Header file: WinNT.h --> typedef long LONG;
LONGLONG A 64-bit signed integer. The range is –9223372036854775808 through 9223372036854775807 decimal. Header file: WinNT.h --> C++ #if !defined(_M_IX86)typedef __int64 LONGLONG; #elsetypedef double LONGLONG;#endif
LONG_PTR A signed long type for pointer precision. Use when casting a pointer to a long to perform pointer arithmetic. Header file: BaseTsd.h --> C++ #if defined(_WIN64)typedef __int64 LONG_PTR; #elsetypedef long LONG_PTR;#endif
LONG32 A 32-bit signed integer. The range is –2147483648 through 2147483647 decimal. Header file: BaseTsd.h --> typedef signed int LONG32;
LONG64 A 64-bit signed integer. The range is –9223372036854775808 through 9223372036854775807 decimal. Header file: BaseTsd.h --> typedef __int64 LONG64;
LPARAM A message parameter. Header file: WinDef.h --> typedef LONG_PTR LPARAM;
LPBOOL A pointer to a BOOL. Header file: WinDef.h --> typedef BOOL far *LPBOOL;
LPBYTE A pointer to a BYTE. Header file: WinDef.h --> typedef BYTE far *LPBYTE;
LPCOLORREF A pointer to a COLORREF value. Header file: WinDef.h --> typedef DWORD *LPCOLORREF;
LPCSTR A pointer to a constant null-terminated string of 8-bit Windows (ANSI) characters. For more information, see Character Sets Used By Fonts. Header file: WinNT.h --> typedef __nullterminated CONST CHAR *LPCSTR;
LPCTSTR An LPCWSTR if UNICODE is defined, an LPCSTR otherwise. For more information, see Windows Data Types for Strings. Header file: WinNT.h --> C++ #ifdef UNICODEtypedef LPCWSTR LPCTSTR; #elsetypedef LPCSTR LPCTSTR;#endif
LPCVOID A pointer to a constant of any type. Header file: WinDef.h --> typedef CONST void *LPCVOID;
LPCWSTR A pointer to a constant null-terminated string of 16-bit Unicode characters. For more information, see Character Sets Used By Fonts. Header file: WinNT.h --> typedef CONST WCHAR *LPCWSTR;
LPDWORD A pointer to a DWORD. Header file: WinDef.h --> typedef DWORD *LPDWORD;
LPHANDLE A pointer to a HANDLE. Header file: WinDef.h --> typedef HANDLE *LPHANDLE;
LPINT A pointer to an INT. Header file: WinDef.h --> typedef int *LPINT;
LPLONG A pointer to a LONG. Header file: WinDef.h --> typedef long *LPLONG;
LPSTR A pointer to a null-terminated string of 8-bit Windows (ANSI) characters. For more information, see Character Sets Used By Fonts. Header file: WinNT.h --> typedef CHAR *LPSTR;
LPTSTR An LPWSTR if UNICODE is defined, an LPSTR otherwise. For more information, see Windows Data Types for Strings. Header file: WinNT.h --> C++ #ifdef UNICODEtypedef LPWSTR LPTSTR;#elsetypedef LPSTR LPTSTR;#endif
LPVOID A pointer to any type. Header file: WinDef.h --> typedef void *LPVOID;
LPWORD A pointer to a WORD. Header file: WinDef.h --> typedef WORD *LPWORD;
LPWSTR A pointer to a null-terminated string of 16-bit Unicode characters. For more information, see Character Sets Used By Fonts. Header file: WinNT.h --> typedef WCHAR *LPWSTR;
LRESULT Signed result of message processing. Header file: WinDef.h --> typedef LONG_PTR LRESULT;
PBOOL A pointer to a BOOL. Header file: WinDef.h --> typedef BOOL *PBOOL;
PBOOLEAN A pointer to a BOOLEAN. Header file: WinNT.h --> typedef BOOLEAN *PBOOLEAN;
PBYTE A pointer to a BYTE. Header file: WinDef.h --> typedef BYTE *PBYTE;
PCHAR A pointer to a CHAR. Header file: WinNT.h --> typedef CHAR *PCHAR;
PCSTR A pointer to a constant null-terminated string of 8-bit Windows (ANSI) characters. For more information, see Character Sets Used By Fonts. Header file: WinNT.h --> typedef CONST CHAR *PCSTR;
PCTSTR A PCWSTR if UNICODE is defined, a PCSTR otherwise. For more information, see Windows Data Types for Strings. Header file: WinNT.h --> C++ #ifdef UNICODEtypedef LPCWSTR PCTSTR;#elsetypedef LPCSTR PCTSTR;#endif
PCWSTR A pointer to a constant null-terminated string of 16-bit Unicode characters. For more information, see Character Sets Used By Fonts. Header file: WinNT.h --> typedef CONST WCHAR *PCWSTR;
PDWORD A pointer to a DWORD. Header file: WinDef.h --> typedef DWORD *PDWORD;
PDWORDLONG A pointer to a DWORDLONG. Header file: WinNT.h --> typedef DWORDLONG *PDWORDLONG;
PDWORD_PTR A pointer to a DWORD_PTR. Header file: BaseTsd.h --> typedef DWORD_PTR *PDWORD_PTR;
PDWORD32 A pointer to a DWORD32. Header file: BaseTsd.h --> typedef DWORD32 *PDWORD32;
PDWORD64 A pointer to a DWORD64. Header file: BaseTsd.h --> typedef DWORD64 *PDWORD64;
PFLOAT A pointer to a FLOAT. Header file: WinDef.h --> typedef FLOAT *PFLOAT;
PHALF_PTR A pointer to a HALF_PTR. Header file: BaseTsd.h --> C++ #ifdef _WIN64typedef HALF_PTR *PHALF_PTR;#elsetypedef HALF_PTR *PHALF_PTR;#endif
PHANDLE A pointer to a HANDLE. Header file: WinNT.h --> typedef HANDLE *PHANDLE;
PHKEY A pointer to an HKEY. Header file: WinDef.h --> typedef HKEY *PHKEY;
PINT A pointer to an INT. Header file: WinDef.h --> typedef int *PINT;
PINT_PTR A pointer to an INT_PTR. Header file: BaseTsd.h --> typedef INT_PTR *PINT_PTR;
PINT8 A pointer to an INT8. Header file: BaseTsd.h --> typedef INT8 *PINT8;
PINT16 A pointer to an INT16. Header file: BaseTsd.h --> typedef INT16 *PINT16;
PINT32 A pointer to an INT32. Header file: BaseTsd.h --> typedef INT32 *PINT32;
PINT64 A pointer to an INT64. Header file: BaseTsd.h --> typedef INT64 *PINT64;
PLCID A pointer to an LCID. Header file: WinNT.h --> typedef PDWORD PLCID;
PLONG A pointer to a LONG. Header file: WinNT.h --> typedef LONG *PLONG;
PLONGLONG A pointer to a LONGLONG. Header file: WinNT.h --> typedef LONGLONG *PLONGLONG;
PLONG_PTR A pointer to a LONG_PTR. Header file: BaseTsd.h --> typedef LONG_PTR *PLONG_PTR;
PLONG32 A pointer to a LONG32. Header file: BaseTsd.h --> typedef LONG32 *PLONG32;
PLONG64 A pointer to a LONG64. Header file: BaseTsd.h --> typedef LONG64 *PLONG64;
POINTER_32 A 32-bit pointer. On a 32-bit system, this is a native pointer. On a 64-bit system, this is a truncated 64-bit pointer. Header file: BaseTsd.h --> C++ #if defined(_WIN64)#define POINTER_32 __ptr32#else#define POINTER_32#endif
POINTER_64 A 64-bit pointer. On a 64-bit system, this is a native pointer. On a 32-bit system, this is a sign-extended 32-bit pointer.Note that it is not safe to assume the state of the high pointer bit. Header file: BaseTsd.h --> C++ #if (_MSC_VER >= 1300)#define POINTER_64 __ptr64#else#define POINTER_64#endif
POINTER_SIGNED A signed pointer. Header file: BaseTsd.h --> #define POINTER_SIGNED __sptr
POINTER_UNSIGNED An unsigned pointer. Header file: BaseTsd.h --> #define POINTER_UNSIGNED __uptr
PSHORT A pointer to a SHORT. Header file: WinNT.h --> typedef SHORT *PSHORT;
PSIZE_T A pointer to a SIZE_T. Header file: BaseTsd.h --> typedef SIZE_T *PSIZE_T;
PSSIZE_T A pointer to a SSIZE_T. Header file: BaseTsd.h --> typedef SSIZE_T *PSSIZE_T;
PSTR A pointer to a null-terminated string of 8-bit Windows (ANSI) characters. For more information, see Character Sets Used By Fonts. Header file: WinNT.h --> typedef CHAR *PSTR;
PTBYTE A pointer to a TBYTE. Header file: WinNT.h --> typedef TBYTE *PTBYTE;
PTCHAR A pointer to a TCHAR. Header file: WinNT.h --> typedef TCHAR *PTCHAR;
PTSTR A PWSTR if UNICODE is defined, a PSTR otherwise. For more information, see Windows Data Types for Strings. Header file: WinNT.h --> C++ #ifdef UNICODEtypedef LPWSTR PTSTR;#else typedef LPSTR PTSTR;#endif
PUCHAR A pointer to a UCHAR. Header file: WinDef.h --> typedef UCHAR *PUCHAR;
PUHALF_PTR A pointer to a UHALF_PTR. Header file: BaseTsd.h --> C++ #ifdef _WIN64typedef UHALF_PTR *PUHALF_PTR;#elsetypedef UHALF_PTR *PUHALF_PTR;#endif
PUINT A pointer to a UINT. Header file: WinDef.h --> typedef UINT *PUINT;
PUINT_PTR A pointer to a UINT_PTR. Header file: BaseTsd.h --> typedef UINT_PTR *PUINT_PTR;
PUINT8 A pointer to a UINT8. Header file: BaseTsd.h --> typedef UINT8 *PUINT8;
PUINT16 A pointer to a UINT16. Header file: BaseTsd.h --> typedef UINT16 *PUINT16;
PUINT32 A pointer to a UINT32. Header file: BaseTsd.h --> typedef UINT32 *PUINT32;
PUINT64 A pointer to a UINT64. Header file: BaseTsd.h --> typedef UINT64 *PUINT64;
PULONG A pointer to a ULONG. Header file: WinDef.h --> typedef ULONG *PULONG;
PULONGLONG A pointer to a ULONGLONG. Header file: WinDef.h --> typedef ULONGLONG *PULONGLONG;
PULONG_PTR A pointer to a ULONG_PTR. Header file: BaseTsd.h --> typedef ULONG_PTR *PULONG_PTR;
PULONG32 A pointer to a ULONG32. Header file: BaseTsd.h --> typedef ULONG32 *PULONG32;
PULONG64 A pointer to a ULONG64. Header file: BaseTsd.h --> typedef ULONG64 *PULONG64;
PUSHORT A pointer to a USHORT. Header file: WinDef.h --> typedef USHORT *PUSHORT;
PVOID A pointer to any type. Header file: WinNT.h --> typedef void *PVOID;
PWCHAR A pointer to a WCHAR. Header file: WinNT.h --> typedef WCHAR *PWCHAR;
PWORD A pointer to a WORD. Header file: WinDef.h --> typedef WORD *PWORD;
PWSTR A pointer to a null-terminated string of 16-bit Unicode characters. For more information, see Character Sets Used By Fonts. Header file: WinNT.h --> typedef WCHAR *PWSTR;
QWORD A 64-bit unsigned integer. This type is declared** --> typedef unsigned __int64 QWORD;
SC_HANDLE A handle to a service control manager database. For more information, see SCM Handles. Header file: WinSvc.h --> typedef HANDLE SC_HANDLE;
SC_LOCK A lock to a service control manager database. For more information, see SCM Handles. Header file: WinSvc.h --> typedef LPVOID SC_LOCK;
SERVICE_STATUS_HANDLE A handle to a service status value. For more information, see SCM Handles. Header file: WinSvc.h --> typedef HANDLE SERVICE_STATUS_HANDLE;
SHORT A 16-bit integer. The range is –32768 through 32767 decimal. Header file: WinNT.h --> typedef short SHORT;
SIZE_T The maximum number of bytes to which a pointer can point. Use for a count that must span the full range of a pointer. Header file: BaseTsd.h --> typedef ULONG_PTR SIZE_T;
SSIZE_T A signed version of SIZE_T. Header file: BaseTsd.h --> typedef LONG_PTR SSIZE_T;
TBYTE A WCHAR if UNICODE is defined, a CHAR otherwise. Header file: WinNT.h --> C++ #ifdef UNICODEtypedef WCHAR TBYTE;#elsetypedef unsigned char TBYTE;#endif
TCHAR A WCHAR if UNICODE is defined, a CHAR otherwise. Header file: WinNT.h --> C++ #ifdef UNICODEtypedef WCHAR TCHAR;#elsetypedef char TCHAR;#endif
UCHAR An unsigned CHAR. Header file: WinDef.h --> typedef unsigned char UCHAR;
UHALF_PTR An unsigned HALF_PTR. Use within a structure that contains a pointer and two small fields. Header file: BaseTsd.h --> C++ #ifdef _WIN64typedef unsigned int UHALF_PTR;#elsetypedef unsigned short UHALF_PTR;#endif
UINT An unsigned INT. The range is 0 through 4294967295 decimal. Header file: WinDef.h --> typedef unsigned int UINT;
UINT_PTR An unsigned INT_PTR. Header file: BaseTsd.h --> C++ #if defined(_WIN64)typedef unsigned __int64 UINT_PTR;#elsetypedef unsigned int UINT_PTR;#endif
UINT8 An unsigned INT8. Header file: BaseTsd.h --> typedef unsigned char UINT8;
UINT16 An unsigned INT16. Header file: BaseTsd.h --> typedef unsigned short UINT16;
UINT32 An unsigned INT32. The range is 0 through 4294967295 decimal. Header file: BaseTsd.h --> typedef unsigned int UINT32;
UINT64 An unsigned INT64. The range is 0 through 18446744073709551615 decimal. Header file: BaseTsd.h --> typedef usigned __int 64 UINT64;
ULONG An unsigned LONG. The range is 0 through 4294967295 decimal. Header file: WinDef.h --> typedef unsigned long ULONG;
ULONGLONG A 64-bit unsigned integer. The range is 0 through 18446744073709551615 decimal. Header file: WinNT.h --> C++ #if !defined(_M_IX86)typedef unsigned __int64 ULONGLONG;#elsetypedef double ULONGLONG;#endif
ULONG_PTR An unsigned LONG_PTR. Header file: BaseTsd.h --> C++ #if defined(_WIN64)typedef unsigned __int64 ULONG_PTR;#elsetypedef unsigned long ULONG_PTR;#endif
ULONG32 An unsigned LONG32. The range is 0 through 4294967295 decimal. Header file: BaseTsd.h --> typedef unsigned int ULONG32;
ULONG64 An unsigned LONG64. The range is 0 through 18446744073709551615 decimal. Header file: BaseTsd.h --> typedef unsigned __int64 ULONG64;
UNICODE_STRING A Unicode string. Header file: Winternl.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 An unsigned SHORT. The range is 0 through 65535 decimal. Header file: WinDef.h --> typedef unsigned short USHORT;
USN An update sequence number (USN). Header file: WinNT.h --> typedef LONGLONG USN;
VOID Any type. Header file: WinNT.h --> #define VOID void
WCHAR A 16-bit Unicode character. For more information, see Character Sets Used By Fonts. Header file: WinNT.h --> typedef wchar_t WCHAR;
WINAPI The calling convention for system functions. Header file: WinDef.h --> #define WINAPI __stdcallCALLBACK, 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.
WORD A 16-bit unsigned integer. The range is 0 through 65535 decimal. Header file: WinDef.h --> typedef unsigned short WORD;
WPARAM A message parameter. Header file: WinDef.h --> typedef UINT_PTR WPARAM;