Windows数据类型

 

Term

Description

ATOM

Atom. For more information, see Atoms.

This type is declared in WinDef.h as follows:

typedef WORD ATOM;

BOOL

Boolean variable (should be TRUE or FALSE).

This type is declared in WinDef.h as follows:

typedef int BOOL;

BOOLEAN

Boolean variable (should be TRUE or FALSE).

This type is declared in WinNT.h as follows:

typedef BYTE BOOLEAN;

BYTE

Byte (8 bits).

This type is declared in WinDef.h as follows:

typedef unsigned char BYTE;

CALLBACK

Calling convention for callback functions.

This type is declared in WinDef.h as follows:

#define CALLBACK __stdcall

CHAR

8-bit Windows (ANSI) character. For more information, see Character Sets Used By Fonts.

This type is declared in WinNT.h as follows:

typedef char CHAR;

COLORREF

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

Variable whose value is to remain constant during execution.

This type is declared in WinDef.h as follows:

#define CONST const

DWORD

32-bit unsigned integer.

This type is declared in WinDef.h as follows:

typedef unsigned long DWORD;

DWORDLONG

64-bit unsigned integer.

This type is declared in WinNT.h as follows:

typedef ULONGLONG DWORDLONG;

DWORD_PTR

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. )

This type is declared in BaseTsd.h as follows:

typedef ULONG_PTR DWORD_PTR;

DWORD32

32-bit unsigned integer.

This type is declared in BaseTsd.h as follows:

typedef unsigned int DWORD32;

DWORD64

64-bit unsigned integer.

This type is declared in BaseTsd.h as follows:

typedef unsigned __int64 DWORD64;

FLOAT

Floating-point variable.

This type is declared in WinDef.h as follows:

typedef float FLOAT;

HACCEL

Handle to an accelerator table.

This type is declared in WinDef.h as follows:

typedef HANDLE HACCEL;

HALF_PTR

Half the size of a pointer. Use within a structure that contains a pointer and two small fields.

This type is declared in Basetsd.h as follows:

#ifdef _WIN64

 typedef int HALF_PTR;

#else

 typedef short HALF_PTR;

#endif

HANDLE

Handle to an object.

This type is declared in WinNT.h as follows:

typedef PVOID HANDLE;

HBITMAP

Handle to a bitmap.

This type is declared in WinDef.h as follows:

typedef HANDLE HBITMAP;

HBRUSH

Handle to a brush.

This type is declared in WinDef.h as follows:

typedef HANDLE HBRUSH;

HCOLORSPACE

Handle to a color space.

This type is declared in WinDef.h as follows:

#if(WINVER >= 0x0400)

 typedef HANDLE HCOLORSPACE;

#endif

HCONV

Handle to a dynamic data exchange (DDE) conversation.

This type is declared in Ddeml.h as follows:

typedef HANDLE HCONV;

HCONVLIST

Handle to a DDE conversation list.

This type is declared in Ddeml.h as follows:

typedef HANDLE HCONVLIST;

HCURSOR

Handle to a cursor.

This type is declared in WinDef.h as follows:

typedef HICON HCURSOR;

HDC

Handle to a device context (DC).

This type is declared in WinDef.h as follows:

typedef HANDLE HDC;

HDDEDATA

Handle to DDE data.

This type is declared in Ddeml.h as follows:

typedef HANDLE HDDEDATA;

HDESK

Handle to a desktop.

This type is declared in WinDef.h as follows:

typedef HANDLE HDESK;

HDROP

Handle to an internal drop structure.

This type is declared in ShellApi.h as follows:

typedef HANDLE HDROP;

HDWP

Handle to a deferred window position structure.

This type is declared in WinUser.h as follows:

typedef HANDLE HDWP;

HENHMETAFILE

Handle to an enhanced metafile.

This type is declared in WinDef.h as follows:

typedef HANDLE HENHMETAFILE;

HFILE

Handle to a file opened by OpenFile, not CreateFile.

This type is declared in WinDef.h as follows:

typedef int HFILE;

HFONT

Handle to a font.

This type is declared in WinDef.h as follows:

typedef HANDLE HFONT;

HGDIOBJ

Handle to a GDI object.

This type is declared in WinDef.h as follows:

typedef HANDLE HGDIOBJ;

HGLOBAL

Handle to a global memory block.

This type is declared in WinDef.h as follows:

typedef HANDLE HGLOBAL;

HHOOK

Handle to a hook.

This type is declared in WinDef.h as follows:

typedef HANDLE HHOOK;

HICON

Handle to an icon.

This type is declared in WinDef.h as follows:

typedef HANDLE HICON;

HINSTANCE

Handle to an instance.

This type is declared in WinDef.h as follows:

typedef HANDLE HINSTANCE;

HKEY

Handle to a registry key.

This type is declared in WinDef.h as follows:

typedef HANDLE HKEY;

HKL

Input locale identifier.

This type is declared in WinDef.h as follows:

typedef HANDLE HKL;

HLOCAL

Handle to a local memory block.

This type is declared in WinDef.h as follows:

typedef HANDLE HLOCAL;

HMENU

Handle to a menu.

This type is declared in WinDef.h as follows:

typedef HANDLE HMENU;

HMETAFILE

Handle to a metafile.

This type is declared in WinDef.h as follows:

typedef HANDLE HMETAFILE;

HMODULE

Handle to a module. The value is the base address of the module.

This type is declared in WinDef.h as follows:

typedef HINSTANCE HMODULE;

HMONITOR

Handle to a display monitor.

This type is declared in WinDef.h as follows:

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

HPALETTE

Handle to a palette.

This type is declared in WinDef.h as follows:

typedef HANDLE HPALETTE;

HPEN

Handle to a pen.

This type is declared in WinDef.h as follows:

typedef HANDLE HPEN;

HRESULT

Return code used by interfaces. It is zero upon success and nonzero to represent an error code or status information.

This type is declared in WinNT.h as follows:

typedef LONG HRESULT;

HRGN

Handle to a region.

This type is declared in WinDef.h as follows:

typedef HANDLE HRGN;

HRSRC

Handle to a resource.

This type is declared in WinDef.h as follows:

typedef HANDLE HRSRC;

HSZ

Handle to a DDE string.

This type is declared in Ddeml.h as follows:

typedef HANDLE HSZ;

HWINSTA

Handle to a window station.

This type is declared in WinDef.h as follows:

typedef HANDLE WINSTA;

HWND

Handle to a window.

This type is declared in WinDef.h as follows:

typedef HANDLE HWND;

INT

32-bit signed integer.

This type is declared in WinDef.h as follows:

typedef int INT;

INT_PTR

Signed integer type for pointer precision. Use when casting a pointer to an integer to perform pointer arithmetic.

This type is declared in BaseTsd.h as follows:

#if defined(_WIN64)

 typedef __int64 INT_PTR;

#else

 typedef int INT_PTR;

#endif

INT32

32-bit signed integer.

This type is declared in BaseTsd.h as follows:

typedef signed int INT32;

INT64

64-bit signed integer.

This type is declared in BaseTsd.h as follows:

typedef signed __int64 INT64;

LANGID

Language identifier. For more information, see Locales.

This type is declared in WinNT.h as follows:

typedef WORD LANGID;

LCID

Locale identifier. For more information, see Locales.

This type is declared in WinNT.h as follows:

typedef DWORD LCID;

LCTYPE

Locale information type. For a list, see Locale and Language Information.

This type is declared in WinNls.h as follows:

typedef DWORD LCTYPE;

LGRPID

Language group identifier. For a list, see EnumLanguageGroupLocales.

This type is declared in WinNls.h as follows:

typedef DWORD LGRPID;

LONG

32-bit signed integer.

This type is declared in WinNT.h as follows:

typedef long LONG;

LONGLONG

64-bit signed integer.

This type is declared in WinNT.h as follows:

#if !defined(_M_IX86)

 typedef __int64 LONGLONG;

#else

 typedef double LONGLONG;

#endif

LONG_PTR

Signed long type for pointer precision. Use when casting a pointer to a long to perform pointer arithmetic.

This type is declared in BaseTsd.h as follows:

#if defined(_WIN64)

 typedef __int64 LONG_PTR;

#else

 typedef long LONG_PTR;

#endif

LONG32

32-bit signed integer.

This type is declared in BaseTsd.h as follows:

typedef signed int LONG32;

LONG64

64-bit signed integer.

This type is declared in BaseTsd.h as follows:

typedef __int64 LONG64;

LPARAM

Message parameter.

This type is declared in WinDef.h as follows:

typedef LONG_PTR LPARAM;

LPBOOL

Pointer to a BOOL.

This type is declared in WinDef.h as follows:

typedef BOOL far *LPBOOL;

LPBYTE

Pointer to a BYTE.

This type is declared in WinDef.h as follows:

typedef BYTE far *LPBYTE;

LPCOLORREF

Pointer to a COLORREF value.

This type is declared in WinDef.h as follows:

typedef DWORD *LPCOLORREF;

LPCSTR

Pointer to a constant null-terminated string of 8-bit Windows (ANSI) characters. For more information, see Character Sets Used By Fonts.

This type is declared in WinNT.h as follows:

typedef __nullterminated CONST CHAR *LPCSTR;

LPCTSTR

An LPCWSTR if UNICODE is defined, an LPCSTR otherwise.

This type is declared in WinNT.h as follows:

#ifdef UNICODE

 typedef LPCWSTR LPCTSTR;

#else

 typedef LPCSTR LPCTSTR;

#endif

LPCVOID

Pointer to a constant of any type.

This type is declared in WinDef.h as follows:

typedef CONST void *LPCVOID;

LPCWSTR

Pointer to a constant null-terminated string of 16-bit Unicode characters. For more information, see Character Sets Used By Fonts.

This type is declared in WinNT.h as follows:

typedef CONST WCHAR *LPCWSTR;

LPDWORD

Pointer to a DWORD.

This type is declared in WinDef.h as follows:

typedef DWORD *LPDWORD;

LPHANDLE

Pointer to a HANDLE.

This type is declared in WinDef.h as follows:

typedef HANDLE *LPHANDLE;

LPINT

Pointer to an INT.

This type is declared in WinDef.h as follows:

typedef int *LPINT;

LPLONG

Pointer to a LONG.

This type is declared in WinDef.h as follows:

typedef long *LPLONG;

LPSTR

Pointer to a null-terminated string of 8-bit Windows (ANSI) characters. For more information, see Character Sets Used By Fonts.

This type is declared in WinNT.h as follows:

typedef CHAR *LPSTR;

LPTSTR

An LPWSTR if UNICODE is defined, an LPSTR otherwise.

This type is declared in WinNT.h as follows:

#ifdef UNICODE

 typedef LPWSTR LPTSTR;

#else

 typedef LPSTR LPTSTR;

#endif

LPVOID

Pointer to any type.

This type is declared in WinDef.h as follows:

typedef void *LPVOID;

LPWORD

Pointer to a WORD.

This type is declared in WinDef.h as follows:

typedef WORD *LPWORD;

LPWSTR

Pointer to a null-terminated string of 16-bit Unicode characters. For more information, see Character Sets Used By Fonts.

This type is declared in WinNT.h as follows:

typedef WCHAR *LPWSTR;

LRESULT

Signed result of message processing.

This type is declared in WinDef.h as follows:

typedef LONG_PTR LRESULT;

PBOOL

Pointer to a BOOL.

This type is declared in WinDef.h as follows:

typedef BOOL *PBOOL;

PBOOLEAN

Pointer to a BOOL.

This type is declared in WinNT.h as follows:

typedef BOOLEAN *PBOOLEAN;

PBYTE

Pointer to a BYTE.

This type is declared in WinDef.h as follows:

typedef BYTE *PBYTE;

PCHAR

Pointer to a CHAR.

This type is declared in WinNT.h as follows:

typedef CHAR *PCHAR;

PCSTR

Pointer to a constant null-terminated string of 8-bit Windows (ANSI) characters. For more information, see Character Sets Used By Fonts.

This type is declared in WinNT.h as follows:

typedef CONST CHAR *PCSTR;

PCTSTR

A PCWSTR if UNICODE is defined, a PCSTR otherwise.

This type is declared in WinNT.h as follows:

#ifdef UNICODE

 typedef LPCWSTR PCTSTR;

#else

 typedef LPCSTR PCTSTR;

#endif

PCWSTR

Pointer to a constant null-terminated string of 16-bit Unicode characters. For more information, see Character Sets Used By Fonts.

This type is declared in WinNT.h as follows:

typedef CONST WCHAR *PCWSTR;

PDWORD

Pointer to a DWORD.

This type is declared in WinDef.h as follows:

typedef DWORD *PDWORD;

PDWORDLONG

Pointer to a DWORDLONG.

This type is declared in WinNT.h as follows:

typedef DWORDLONG *PDWORDLONG;

PDWORD_PTR

Pointer to a DWORD_PTR.

This type is declared in BaseTsd.h as follows:

typedef DWORD_PTR *PDWORD_PTR;

PDWORD32

Pointer to a DWORD32.

This type is declared in BaseTsd.h as follows:

typedef DWORD32 *PDWORD32;

PDWORD64

Pointer to a DWORD64.

This type is declared in BaseTsd.h as follows:

typedef DWORD64 *PDWORD64;

PFLOAT

Pointer to a FLOAT.

This type is declared in WinDef.h as follows:

typedef FLOAT *PFLOAT;

PHALF_PTR

Pointer to a HALF_PTR.

This type is declared in Basetsd.h as follows:

#ifdef _WIN64

 typedef HALF_PTR *PHALF_PTR;

#else

 typedef HALF_PTR *PHALF_PTR;

#endif

PHANDLE

Pointer to a HANDLE.

This type is declared in WinNT.h as follows:

typedef HANDLE *PHANDLE;

PHKEY

Pointer to an HKEY.

This type is declared in WinDef.h as follows:

typedef HKEY *PHKEY;

PINT

Pointer to an INT.

This type is declared in WinDef.h as follows:

typedef int *PINT;

PINT_PTR

Pointer to an INT_PTR.

This type is declared in BaseTsd.h as follows:

typedef INT_PTR *PINT_PTR;

PINT32

Pointer to an INT32.

This type is declared in BaseTsd.h as follows:

typedef INT32 *PINT32;

PINT64

Pointer to an INT64.

This type is declared in BaseTsd.h as follows:

typedef INT64 *PINT64;

PLCID

Pointer to an LCID.

This type is declared in WinNT.h as follows:

typedef PDWORD PLCID;

PLONG

Pointer to a LONG.

This type is declared in WinNT.h as follows:

typedef LONG *PLONG;

PLONGLONG

Pointer to a LONGLONG.

This type is declared in WinNT.h as follows:

typedef LONGLONG *PLONGLONG;

PLONG_PTR

Pointer to a LONG_PTR.

This type is declared in BaseTsd.h as follows:

typedef LONG_PTR *PLONG_PTR;

PLONG32

Pointer to a LONG32.

This type is declared in BaseTsd.h as follows:

typedef LONG32 *PLONG32;

PLONG64

Pointer to a LONG64.

This type is declared in BaseTsd.h as follows:

typedef LONG64 *PLONG64;

POINTER_32

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.

This type is declared in BaseTsd.h as follows:

#if defined(_WIN64)

#define POINTER_32 __ptr32

#else

#define POINTER32

#endif

POINTER_64

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.

This type is declared in BaseTsd.h as follows:

#define POINTER_64 __ptr64

PSHORT

Pointer to a SHORT.

This type is declared in WinNT.h as follows:

typedef SHORT *PSHORT;

PSIZE_T

Pointer to a SIZE_T.

This type is declared in BaseTsd.h as follows:

typedef SIZE_T *PSIZE_T;

PSSIZE_T

Pointer to a SSIZE_T.

This type is declared in BaseTsd.h as follows:

typedef SSIZE_T *PSSIZE_T;

PSTR

Pointer to a null-terminated string of 8-bit Windows (ANSI) characters. For more information, see Character Sets Used By Fonts.

This type is declared in WinNT.h as follows:

typedef CHAR *PSTR;

PTBYTE

Pointer to a TBYTE.

This type is declared in WinNT.h as follows:

typedef TBYTE *PTBYTE;

PTCHAR

Pointer to a TCHAR.

This type is declared in WinNT.h as follows:

typedef TCHAR *PTCHAR;

PTSTR

A PWSTR if UNICODE is defined, a PSTR otherwise.

This type is declared in WinNT.h as follows:

#ifdef UNICODE

 typedef LPWSTR PTSTR;

#else typedef LPSTR PTSTR;

#endif

PUCHAR

Pointer to a UCHAR.

This type is declared in WinDef.h as follows:

typedef UCHAR *PUCHAR;

PUHALF_PTR

Pointer to a UHALF_PTR.

This type is declared in Basetsd.h as follows:

#ifdef _WIN64

 typedef UHALF_PTR *PUHALF_PTR;

#else

 typedef UHALF_PTR *PUHALF_PTR;

#endif

PUINT

Pointer to a UINT.

This type is declared in WinDef.h as follows:

typedef UINT *PUINT;

PUINT_PTR

Pointer to a UINT_PTR.

This type is declared in BaseTsd.h as follows:

typedef UINT_PTR *PUINT_PTR;

PUINT32

Pointer to a UINT32.

This type is declared in BaseTsd.h as follows:

typedef UINT32 *PUINT32;

PUINT64

Pointer to a UINT64.

This type is declared in BaseTsd.h as follows:

typedef UINT64 *PUINT64;

PULONG

Pointer to a ULONG.

This type is declared in WinDef.h as follows:

typedef ULONG *PULONG;

PULONGLONG

Pointer to a ULONGLONG.

This type is declared in WinDef.h as follows:

typedef ULONGLONG *PULONGLONG;

PULONG_PTR

Pointer to a ULONG_PTR.

This type is declared in BaseTsd.h as follows:

typedef ULONG_PTR *PULONG_PTR;

PULONG32

Pointer to a ULONG32.

This type is declared in BaseTsd.h as follows:

typedef ULONG32 *PULONG32;

PULONG64

Pointer to a ULONG64.

This type is declared in BaseTsd.h as follows:

typedef ULONG64 *PULONG64;

PUSHORT

Pointer to a USHORT.

This type is declared in WinDef.h as follows:

typedef USHORT *PUSHORT;

PVOID

Pointer to any type.

This type is declared in WinNT.h as follows:

typedef void *PVOID;

PWCHAR

Pointer to a WCHAR.

This type is declared in WinNT.h as follows:

typedef WCHAR *PWCHAR;

PWORD

Pointer to a WORD.

This type is declared in WinDef.h as follows:

typedef WORD *PWORD;

PWSTR

Pointer to a null- terminated string of 16-bit Unicode characters. For more information, see Character Sets Used By Fonts.

This type is declared in WinNT.h as follows:

typedef WCHAR *PWSTR;

SC_HANDLE

Handle to a service control manager database. For more information, see SCM Handles.

This type is declared in WinSvc.h as follows:

typedef HANDLE SC_HANDLE;

SC_LOCK

Lock to a service control manager database. For more information, see SCM Handles.

This type is declared in WinSvc.h as follows:

typedef LPVOID SC_LOCK;

SERVICE_STATUS_HANDLE

Handle to a service status value. For more information, see SCM Handles.

This type is declared in WinSvc.h as follows:

typedef HANDLE SERVICE_STATUS_HANDLE;

SHORT

Short integer (16 bits).

This type is declared in WinNT.h as follows:

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.

This type is declared in BaseTsd.h as follows:

typedef ULONG_PTR SIZE_T;

SSIZE_T

Signed SIZE_T.

This type is declared in BaseTsd.h as follows:

typedef LONG_PTR SSIZE_T;

TBYTE

A WCHAR if UNICODE is defined, a CHAR otherwise.

This type is declared in WinNT.h as follows:

#ifdef UNICODE

 typedef WCHAR TBYTE;

#else

 typedef unsigned char TBYTE;

#endif

TCHAR

A WCHAR if UNICODE is defined, a CHAR otherwise.

This type is declared in WinNT.h as follows:

#ifdef UNICODE

 typedef WCHAR TCHAR;

#else

 typedef char TCHAR;

#endif

UCHAR

Unsigned CHAR.

This type is declared in WinDef.h as follows:

typedef unsigned char UCHAR;

UHALF_PTR

Unsigned HALF_PTR. Use within a structure that contains a pointer and two small fields.

This type is declared in Basetsd.h as follows:

#ifdef _WIN64

 typedef unsigned int UHALF_PTR;

#else

 typedef unsigned short UHALF_PTR;

#endif

UINT

Unsigned INT.

This type is declared in WinDef.h as follows:

typedef unsigned int UINT;

UINT_PTR

Unsigned INT_PTR.

This type is declared in BaseTsd.h as follows:

#if defined(_WIN64)

 typedef unsigned __int64 UINT_PTR;

#else

 typedef unsigned int UINT_PTR;

#endif

UINT32

Unsigned INT32.

This type is declared in BaseTsd.h as follows:

typedef unsigned int UINT32;

UINT64

Unsigned INT64.

This type is declared in BaseTsd.h as follows:

typedef usigned __int 64 UINT64;

ULONG

Unsigned LONG.

This type is declared in WinDef.h as follows:

typedef unsigned long ULONG;

ULONGLONG

64-bit unsigned integer.

This type is declared in WinNT.h as follows:

#if !defined(_M_IX86)

 typedef unsigned __int64 ULONGLONG;

#else

 typedef double ULONGLONG

#endif

ULONG_PTR

Unsigned LONG_PTR.

This type is declared in BaseTsd.h as follows:

#if defined(_WIN64)

 typedef unsigned __int64 ULONG_PTR;

#else

 typedef unsigned long ULONG_PTR;

#endif

ULONG32

Unsigned LONG32.

This type is declared in BaseTsd.h as follows:

typedef unsigned int ULONG32;

ULONG64

Unsigned LONG64.

This type is declared in BaseTsd.h as follows:

typedef unsigned __int64 ULONG64;

USHORT

Unsigned SHORT.

This type is declared in WinDef.h as follows:

typedef unsigned short USHORT;

USN

Update sequence number (USN).

This type is declared in WinNT.h as follows:

typedef LONGLONG USN;

VOID

Any type.

This type is declared in WinNT.h as follows:

#define VOID void

WCHAR

16-bit Unicode character. For more information, see Character Sets Used By Fonts.

This type is declared in WinNT.h as follows:

typedef wchar_t WCHAR;

WINAPI

Calling convention for system functions.

This type is declared in WinDef.h as follows:

#define WINAPI __stdcall

WORD

16-bit unsigned integer.

This type is declared in WinDef.h as follows:

typedef unsigned short WORD;

WPARAM

Message parameter.

This type is declared in WinDef.h as follows:

typedef UINT_PTR WPARAM;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值