当前位置: 首页 > news >正文

Windows 数据类型 (Windows Data Types)

参考:https://learn.microsoft.com/en-us/windows/win32/winprog/windows-data-types

  • 要求
要求
最低受支持的客户端Windows XP [仅限桌面应用]
最低受支持的服务器Windows Server 2003 [仅限桌面应用]
HeaderBaseTsd.h;WinDef.h;WinNT.h

APIENTRY

  • 系统函数的调用约定
  • 头文件:WinDef.h
  • 声明
#define APIENTRY WINAPI

ATOM

  • 详细信息:https://learn.microsoft.com/zh-cn/windows/win32/dataxchg/about-atom-tables
  • 头文件:WinDef.h
  • 声明
typedef WORD ATOM;

BOOL

  • 布尔变量 (应为 TRUEFALSE)
  • 头文件:WinDef.h
  • 声明
typedef int BOOL;

BOOLEAN

  • 布尔变量 (应为 TRUEFALSE)
  • 头文件:WinNT.h
  • 声明
typedef BYTE BOOLEAN;

BYTE

  • 8位字节
  • 头文件:WinDef.h
  • 声明
typedef unsigned char BYTE;

CALLBACK

  • 回调函数的调用
  • 头文件:WinDef.h
  • 声明
#define CALLBACK __stdcall
  • CALLBACKWINAPIAPIENTRY 都用于定义具有__stdcall调用约定的函数。 Windows API 中的大多数函数都是使用 WINAPI 声明的。 你可能希望对实现的回调函数使用 CALLBACK 来帮助将函数标识为回调函数

CCHAR

  • 8 位 Windows (ANSI) 字符
  • 头文件:WinNT.h
  • 声明
typedef char CCHAR;

CHAR

  • 8 位 Windows (ANSI) 字符
  • 头文件:WinNT.h
  • 声明
typedef char CHAR;

COLORREF

  • 红色、绿色、蓝色 (RGB) 颜色值 (32 位) :https://learn.microsoft.com/zh-cn/windows/desktop/gdi/colorref
  • 头文件:WinDef.h
  • 声明
typedef DWORD COLORREF;

CONST

  • 常量
  • 头文件:WinDef.h
  • 声明
#define CONST const

DWORD

  • 32 位无符号整数。 范围为 0 到 4294967295十进制
  • 头文件:IntSafe.h
  • 声明
typedef unsigned long DWORD;

DWORDLONG

  • 64 位无符号整数。 范围是 0 到 18446744073709551615 十进制
  • 头文件:IntSafe.h
  • 声明
typedef unsigned __int64 DWORDLONG;

DWORD_PTR

  • 指针精度的无符号长类型。 将指针强制转换为长类型以执行指针算术时使用。 (还通常用于在 64 位 Windows 中扩展为 64 位的常规 32 位参数,)
  • 头文件:BaseTsd.h
  • 声明
typedef ULONG_PTR DWORD_PTR;

DWORD32

  • 32 位无符号整数
  • 头文件:BaseTsd.h
  • 声明
typedef unsigned int DWORD32;

DWORD64

  • 64 位无符号整数
  • 头文件:BaseTsd.h
  • 声明
typedef unsigned int DWORD64;

FLOAT

  • 浮点变量
  • 头文件:WinDef.h
  • 声明
typedef float FLOAT;

HACCEL

  • 快捷键表的句柄:https://learn.microsoft.com/zh-cn/windows/win32/menurc/keyboard-accelerators
  • 头文件:WinDef.h
  • 声明
typedef HANDLE HACCEL;

HALF_PTR

  • 指针大小的一半。 在包含指针和两个小字段的结构中使用
  • 头文件:BaseTsd.h
  • 声明
#ifdef _WIN64typedef int HALF_PTR;
#elsetypedef short HALF_PTR;
#endif

HANDLE

  • 对象的句柄
  • 头文件:WinNT.h
  • 声明
typedef PVOID HANDLE;

HBITMAP

  • 位图的句柄
  • 头文件:WinDef.h
  • 声明
typedef HANDLE HBITMAP;

HBRUSH

  • 画笔的句柄
  • 头文件:WinDef.h
  • 声明
typedef HANDLE HBRUSH;

HCOLORSPACE

  • 颜色空间的句柄
  • 头文件:WinDef.h
  • 声明
typedef HANDLE HCOLORSPACE;

HCONV

  • 动态数据交换 (DDE)的句柄
  • 头文件:Ddeml.h
  • 声明
typedef HANDLE HCONV;

HCONVLIST

  • 动态数据交换 (DDE)对话列表的句柄
  • 头文件:Ddeml.h
  • 声明
typedef HANDLE HCONVLIST;

HCURSOR

  • 游标的句柄
  • 头文件:WinDef.h
  • 声明
typedef HICON HCURSOR;

HDC

  • 设备上下文的句柄(DC)
  • 头文件:WinDef.h
  • 声明
typedef HANDLE HDC;

HDDEDATA

  • 动态数据交换 (DDE)数据的句柄
  • 头文件:Ddeml.h
  • 声明
typedef HANDLE HDDEDATA;

HDESK

  • 桌面的句柄
  • 头文件:WinDef.h
  • 声明
typedef HANDLE HDESK;

HDROP

  • 内部放置结构的句柄
  • 头文件:ShellApi.h
  • 声明
typedef HANDLE HDROP;

HDWP

  • 延迟窗口位置结构的句柄
  • 头文件:WinUser.h
  • 声明
typedef HANDLE HDWP;

HENHMETAFILE

  • 增强型图元文件的句柄
  • 头文件:WinDef.h
  • 声明
typedef HANDLE HENHMETAFILE;

HFILE

  • OpenFile 打开的文件的句柄,而不是 CreateFile
  • 头文件:WinDef.h
  • 声明
typedef int HFILE;

HFONT

  • 字体 的句柄
  • 头文件:WinDef.h
  • 声明
typedef HANDLE HFONT;

HGDIOBJ

  • GDI 对象的句柄
  • 头文件:WinDef.h
  • 声明
typedef HANDLE HGDIOBJ;

HGLOBAL

  • 全局内存块的句柄
  • 头文件:WinDef.h
  • 声明
typedef HANDLE HGLOBAL;

HHOOK

  • 挂钩的句柄
  • 头文件:WinDef.h
  • 声明
typedef HANDLE HHOOK;

HICON

  • 图标的句柄
  • 头文件:WinDef.h
  • 声明
typedef HANDLE HICON;

HINSTANCE

  • 实例的句柄。 这是内存中模块的基址。
    HMODULEHINSTANCE 目前相同,但在 16 位 Windows 中表示不同的内容
  • 头文件:WinDef.h
  • 声明
typedef HANDLE HINSTANCE;

HKEY

  • 注册表项的句柄
  • 头文件:WinDef.h
  • 声明
typedef HANDLE HKEY;

HKL

  • 一个输入区位标识符
  • 头文件:WinDef.h
  • 声明
typedef HANDLE HKL;

HLOCAL

  • 本地内存块的句柄
  • 头文件:WinDef.h
  • 声明
typedef HANDLE HLOCAL;

HMENU

  • 菜单的句柄
  • 头文件:WinDef.h
  • 声明
typedef HANDLE HMENU;

HMETAFILE

  • 图元文件的句柄
  • 头文件:WinDef.h
  • 声明
typedef HANDLE HMETAFILE;

HMODULE

  • 模块的句柄。 这是内存中模块的基址。
    HMODULEHINSTANCE 在当前版本的 Windows 中相同,但在 16 位 Windows 中表示不同的内容
  • 头文件:WinDef.h
  • 声明
typedef HINSTANCE HMODULE;

HMONITOR

  • 显示监视器的句柄
  • 头文件:WinDef.h
  • 声明
if(WINVER >= 0x0500) typedef HANDLE HMONITOR;

HPALETTE

  • 调色板的句柄
  • 头文件:WinDef.h
  • 声明
typedef HANDLE HPALETTE;

HPEN

  • 笔的句柄
  • 头文件:WinDef.h
  • 声明
typedef HANDLE HPEN;

HRESULT

  • COM 接口使用的返回代码。 有关详细信息,请参阅 COM 错误代码的结构。 若要测试 HRESULT 值,请使用 FAILED 和 SUCCEEDED 宏
  • 头文件:WinNT.h
  • 声明
typedef LONG HRESULT;

HRGN

  • 区域的句柄
  • 头文件:WinDef.h
  • 声明
typedef HANDLE HRGN;

HRSRC

  • 资源的句柄
  • 头文件:WinDef.h
  • 声明
typedef HANDLE HRSRC;

HSZ

  • DDE(dynamic data exchange) 字符串的句柄
  • 头文件:Ddeml.h
  • 声明
typedef HANDLE HSZ;

HWINSTA

  • 窗口工作站的句柄
  • 头文件:WinDef.h
  • 声明
typedef HANDLE WINSTA;

HWND

  • 窗口的句柄
  • 头文件:WinDef.h
  • 声明
typedef HANDLE HWND;

INT

  • 32 位带符号整数。 范围是 -2147483648 到 2147483647十进制
  • 头文件:WinDef.h
  • 声明
typedef int INT;

INT_PTR

  • 指针精度的有符号整数类型。 在将指针强制转换为整数时使用 以执行指针算术
  • 头文件:BaseTsd.h
  • 声明
#if defined(_WIN64) typedef __int64 INT_PTR; 
#else typedef int INT_PTR;
#endif

INT8

  • 8 位有符号整数
  • 头文件:BaseTsd.h
  • 声明
typedef signed char INT8;

INT16

  • 16 位有符号整数
  • 头文件:BaseTsd.h
  • 声明
typedef signed short INT16;

INT32

  • 32 位有符号整数。 范围是 -2147483648 到 2147483647十进制
  • 头文件:BaseTsd.h
  • 声明
typedef signed int INT32;

INT64

  • 64 位有符号整数。 范围是 -9223372036854775808 到 9223372036854775807十进制
  • 头文件:BaseTsd.h
  • 声明
typedef signed __int64 INT64;

LANGID

  • 语言标识符
  • 头文件:WinNT.h
  • 声明
typedef WORD LANGID;

LCID

  • 区域设置标识符
  • 头文件:WinNT.h
  • 声明
typedef DWORD LCID;

LCTYPE

  • 区域设置信息类型
  • 头文件:WinNls.h
  • 声明
typedef DWORD LCTYPE;

LGRPID

  • 语言组标识符
  • 头文件:WinNls.h
  • 声明
typedef DWORD LGRPID;

LONG

  • 32 位带符号整数。 范围是 -2147483648 到 2147483647十进制
  • 头文件:WinNT.h
  • 声明
typedef long LONG;

LONGLONG

  • 64 位带符号整数。 范围是 -9223372036854775808 到 9223372036854775807十进制
  • 头文件:WinNT.h
  • 声明
#if !defined(_M_IX86)typedef __int64 LONGLONG; 
#elsetypedef double LONGLONG;
#endif

LONG_PTR

  • 指针精度的有符号长类型。 将指针强制转换为 long 以执行指针算术时使用
  • 头文件:BaseTsd.h
  • 声明
#if defined(_WIN64)typedef __int64 LONG_PTR; 
#elsetypedef long LONG_PTR;
#endif

LONG32

  • 32 位带符号整数。 范围是 -2147483648 到 2147483647十进制
  • 头文件:BaseTsd.h
  • 声明
typedef signed int LONG32;

LONG64

  • 64 位带符号整数。 范围是 -9223372036854775808 到 9223372036854775807十进制
  • 头文件:BaseTsd.h
  • 声明
typedef __int64 LONG64;

LPARAM

  • 消息参数
  • 头文件:WinDef.h
  • 声明
typedef LONG_PTR LPARAM;

LPBOOL

  • 指向 BOOL 的指针
  • 头文件:WinDef.h
  • 声明
typedef BOOL far *LPBOOL;

LPBYTE

  • 指向 BYTE 的指针
  • 头文件:WinDef.h
  • 声明
typedef BYTE far *LPBYTE;

LPCOLORREF

  • 指向 LPCOLORREF 值的指针
  • 头文件:WinDef.h
  • 声明
typedef DWORD *LPCOLORREF;

LPCSTR

  • 指向由 8 位 Windows (ANSI) 字符的常量 null 结尾字符串的指针。 有关详细信息,请参阅 字体使用的字符集
  • 头文件:WinNT.h
  • 声明
typedef __nullterminated CONST CHAR *LPCSTR;

LPCTSTR

  • 如果定义了 UNICODE,则为 LPCWSTR,否则为 LPCSTR。 有关详细信息,请参阅 字符串的 Windows 数据类型
  • 头文件:WinNT.h
  • 声明
#ifdef UNICODEtypedef LPCWSTR LPCTSTR; 
#elsetypedef LPCSTR LPCTSTR;
#endif

LPCVOID

  • 指向任意类型的常量的指针
  • 头文件:WinDef.h
  • 声明
typedef CONST void *LPCVOID;

LPCWSTR

  • 指向 16 位 Unicode 字符的以 null 结尾的常量字符串的指针。 有关详细信息,请参阅 字体使用的字符集
  • 头文件:WinNT.h
  • 声明
typedef CONST WCHAR *LPCWSTR;

LPDWORD

  • 指向 DWORD 的指针
  • 头文件:WinDef.h
  • 声明
typedef DWORD *LPDWORD;

LPHANDLE

  • 指向 HANDLE 的指针
  • 头文件:WinDef.h
  • 声明
typedef HANDLE *LPHANDLE;

LPINT

  • 指向 INT 的指针
  • 头文件:WinDef.h
  • 声明
typedef int *LPINT;

LPLONG

  • 指向 LONG 的指针
  • 头文件:WinDef.h
  • 声明
typedef long *LPLONG;

LPSTR

  • 指向以 null 结尾的 8 位 Windows 字符串的指针, (ANSI) 字符。 有关详细信息,请参阅 字体使用的字符集
  • 头文件:WinNT.h
  • 声明
typedef CHAR *LPSTR;

LPTSTR

  • 如果定义了 UNICODE,则为 LPWSTR,否则为 LPSTR。 有关详细信息,请参阅 字符串的 Windows 数据类型
  • 头文件:WinNT.h
  • 声明
#ifdef UNICODEtypedef LPWSTR LPTSTR;
#elsetypedef LPSTR LPTSTR;
#endif

LPVOID

  • 指向任意类型的指针
  • 头文件:WinDef.h
  • 声明
typedef void *LPVOID;

LPWORD

  • 指向 WORD (typedef unsigned short WORD;)的指针
  • 头文件:WinDef.h
  • 声明
typedef WORD *LPWORD;

LPWSTR

  • 指向以 null 结尾的 16 位 Unicode 字符字符串的指针。 有关详细信息,请参阅 字体使用的字符集
  • 头文件:WinNT.h
  • 声明
typedef WCHAR *LPWSTR;

LRESULT

  • 消息处理的签名结果
  • 头文件:WinDef.h
  • 声明
typedef LONG_PTR LRESULT;

PBOOL

  • 指向 BOOL(typedef int BOOL;) 的指针
  • 头文件:WinDef.h
  • 声明
typedef BOOL *PBOOL;

PBOOLEAN

  • 指向 BOOLEAN(typedef BYTE BOOLEAN;) 的指针
  • 头文件:WinNT.h
  • 声明
typedef BOOLEAN *PBOOLEAN;

PBYTE

  • 指向 BYTE(typedef unsigned char BYTE;) 的指针
  • 头文件:WinDef.h
  • 声明
typedef BYTE *PBYTE;

PCHAR

  • 指向 CHAR(typedef char CHAR;) 的指针
  • 头文件:WinNT.h
  • 声明
typedef CHAR *PCHAR;

PCSTR

  • 指向以 null 结尾的常量字符串的指针,该字符串由 8 位 Windows (ANSI) 字符。 有关详细信息,请参阅 字体使用的字符集
  • 头文件:WinNT.h
  • 声明
typedef CONST CHAR *PCSTR;

PCTSTR

  • 如果定义了 UNICODE,则为 LPWSTR,否则为 LPSTR。 有关详细信息,请参阅 字符串的 Windows 数据类型
  • 头文件:WinNT.h
  • 声明
#ifdef UNICODEtypedef LPCWSTR PCTSTR;
#elsetypedef LPCSTR PCTSTR;
#endif

PCWSTR

  • 指向 16 位 Unicode 字符的以 null 结尾的常量字符串的指针。 有关详细信息,请参阅 字体使用的字符集
  • 头文件:WinNT.h
  • 声明
typedef CONST WCHAR *PCWSTR;

PDWORD

  • 指向 DWORD(typedef unsigned long DWORD;) 的指针
  • 头文件:WinDef.h
  • 声明
typedef DWORD *PDWORD;

PDWORDLONG

  • 指向 DWORDLONG(typedef unsigned __int64 DWORDLONG;) 的指针
  • 头文件:WinNT.h
  • 声明
typedef DWORDLONG *PDWORDLONG;

PDWORD_PTR

  • 指向 DWORD_PTR(typedef ULONG_PTR DWORD_PTR;) 的指针
  • 头文件:BaseTsd.h
  • 声明
typedef DWORD_PTR *PDWORD_PTR;

PDWORD32

  • 指向 DWORD32(typedef unsigned int DWORD32;) 的指针
  • 头文件:BaseTsd.h
  • 声明
typedef DWORD32 *PDWORD32;

PDWORD64

  • 指向 DWORD64(typedef unsigned __int64 DWORD64;) 的指针
  • 头文件:BaseTsd.h
  • 声明
typedef DWORD64 *PDWORD64;

PFLOAT

  • 指向 FLOAT(typedef float FLOAT;) 的指针
  • 头文件:WinDef.h
  • 声明
typedef FLOAT *PFLOAT;

PHALF_PTR

  • 指向 HALF_PTR(typedef float FLOAT;) 的指针
  • 头文件:BaseTsd.h
  • 声明
#ifdef _WIN64typedef HALF_PTR *PHALF_PTR;
#elsetypedef HALF_PTR *PHALF_PTR;
#endif

PHANDLE

  • 指向 HANDLE(typedef PVOID HANDLE;) 的指针
  • 头文件:WinNT.h
  • 声明
typedef HANDLE *PHANDLE;

PHKEY

  • 指向 HKEY(typedef HANDLE HKEY;) 的指针
  • 头文件:WinDef.h
  • 声明
typedef HKEY *PHKEY;

PINT

  • 指向 INT(typedef int INT;) 的指针
  • 头文件:WinDef.h
  • 声明
typedef int *PINT;

PINT_PTR

  • 指向 INT_PTR(typedef int INT;) 的指针
  • 头文件:BaseTsd.h
  • 声明
typedef INT_PTR *PINT_PTR;

PINT8

  • 指向 INT8(typedef signed char INT8;) 的指针
  • 头文件:BaseTsd.h
  • 声明
typedef INT8 *PINT8;

PINT16

  • 指向 PINT16(typedef signed short INT16;) 的指针
  • 头文件:BaseTsd.h
  • 声明
typedef INT16 *PINT16;

PINT32

  • 指向 PINT32(typedef signed int INT32;) 的指针
  • 头文件:BaseTsd.h
  • 声明
typedef INT32 *PINT32;

PINT64

  • 指向 PINT64(typedef signed __int64 INT64;) 的指针
  • 头文件:BaseTsd.h
  • 声明
typedef INT64 *PINT64;

PLCID

  • 指向 LCID(typedef DWORD LCID;) 的指针
  • 头文件:WinNT.h
  • 声明
typedef PDWORD PLCID;

PLONG

  • 指向 LONG(typedef long LONG;) 的指针
  • 头文件:WinNT.h
  • 声明
typedef LONG *PLONG;

PLONGLONG

  • 指向 LONGLONG的指针
  • 头文件:WinNT.h
  • 声明
typedef LONGLONG *PLONGLONG;

PLONG_PTR

  • 指向 LONG_PTR的指针
  • 头文件:BaseTsd.h
  • 声明
typedef LONG_PTR *PLONG_PTR;

PLONG32

  • 指向 LONG32(typedef signed int LONG32;)的指针
  • 头文件:BaseTsd.h
  • 声明
typedef LONG32 *PLONG32;

PLONG64

  • 指向 LONG64(typedef __int64 LONG64;)的指针
  • 头文件:BaseTsd.h
  • 声明
typedef LONG64 *PLONG64;

POINTER_32

  • 32 位指针。 在 32 位系统上,这是一个本机指针。 在 64 位系统上,这是截断的 64 位指针
  • 头文件:BaseTsd.h
  • 声明
#if defined(_WIN64)
#define POINTER_32 __ptr32
#else
#define POINTER_32
#endif

POINTER_64

  • 64 位指针。 在 64 位系统上,这是一个本机指针。 在 32 位系统上,这是一个符号扩展的 32 位指针
  • 头文件:BaseTsd.h
  • 声明
#if (_MSC_VER >= 1300)
#define POINTER_64 __ptr64
#else
#define POINTER_64
#endif

POINTER_SIGNED

  • 有符号的指针
  • 头文件:BaseTsd.h
  • 声明
#define POINTER_SIGNED __sptr

POINTER_UNSIGNED

  • 无符号的指针
  • 头文件:BaseTsd.h
  • 声明
#define POINTER_UNSIGNED __uptr

PSHORT

  • 指向 SHORT (typedef short SHORT;)的指针
  • 头文件:WinNT.h
  • 声明
typedef SHORT *PSHORT;

PSIZE_T

  • 指向 SIZE_T (typedef ULONG_PTR SIZE_T;)的指针
  • 头文件:BaseTsd.h
  • 声明
typedef SIZE_T *PSIZE_T;

PSSIZE_T

  • 指向 SSIZE_T (typedef LONG_PTR SSIZE_T;)的指针
  • 头文件:BaseTsd.h
  • 声明
typedef SSIZE_T *PSSIZE_T;

PSTR

  • 指向以 null 结尾的字符串的指针,该字符串由 8 位 Windows (ANSI) 字符。 有关详细信息,请参阅 字体使用的字符集
  • 头文件:WinNT.h
  • 声明
typedef CHAR *PSTR;

PTBYTE

  • 指向 TBYTE 的指针
  • 头文件:WinNT.h
  • 声明
typedef TBYTE *PTBYTE;

PTCHAR

  • 指向 TCHAR 的指针
  • 头文件:WinNT.h
  • 声明
typedef TCHAR *PTCHAR;

PTSTR

  • 如果定义了 UNICODE,则为 PWSTR(typedef WCHAR *PWSTR;),否则为 PSTR(typedef CHAR *PSTR;)。 有关详细信息,请参阅 字符串的 Windows 数据类型
  • 头文件:WinNT.h
  • 声明
#ifdef UNICODEtypedef LPWSTR PTSTR;
#else typedef LPSTR PTSTR;
#endif

PUCHAR

  • 指向 UCHAR (typedef unsigned char UCHAR;)的指针
  • 头文件:WinDef.h
  • 声明
typedef UCHAR *PUCHAR;

UHALF_PTR

  • 指向 UHALF_PTR 的指针
  • 头文件:BaseTsd.h
  • 声明
#ifdef _WIN64typedef unsigned int UHALF_PTR;
#elsetypedef unsigned short UHALF_PTR;
#endif

PUINT

  • 指向 UINT (typedef unsigned int UINT;)的指针
  • 头文件:WinDef.h
  • 声明
typedef UINT *PUINT;

PUINT_PTR

  • 指向 UINT_PTR 的指针
  • 头文件:BaseTsd.h
  • 声明
typedef UINT_PTR *PUINT_PTR;

PUINT8

  • 指向 UINT8 (typedef unsigned char UINT8;)的指针
  • 头文件:BaseTsd.h
  • 声明
typedef UINT8 *PUINT8;

PUINT16

  • 指向 UINT16 (typedef unsigned short UINT16;)的指针
  • 头文件:BaseTsd.h
  • 声明
typedef UINT16 *PUINT16;

PUINT832

  • 指向 UINT32 (typedef unsigned int UINT32;)的指针
  • 头文件:BaseTsd.h
  • 声明
typedef UINT32 *PUINT32;

PUINT64

  • 指向 UINT64 (typedef unsigned __int64 UINT64;)的指针
  • 头文件:BaseTsd.h
  • 声明
typedef UINT64 *PUINT64;

PULONG

  • 指向 ULONG (typedef unsigned long ULONG;)的指针
  • 头文件:WinDef.h
  • 声明
typedef ULONG *PULONG;

PULONGLONG

  • 指向 ULONGLONG的指针
  • 头文件:WinDef.h
  • 声明
typedef ULONGLONG *PULONGLONG;

PULONG_PTR

  • 指向 ULONG_PTR的指针
  • 头文件:BaseTsd.h
  • 声明
typedef ULONG_PTR *PULONG_PTR;

PULONG32

  • 指向 ULONG32(typedef unsigned int ULONG32;)的指针
  • 头文件:BaseTsd.h
  • 声明
typedef ULONG32 *PULONG32;

PULONG64

  • 指向 ULONG64(typedef unsigned __int64 ULONG64;)的指针
  • 头文件:BaseTsd.h
  • 声明
typedef ULONG64 *PULONG64;

PUSHORT

  • 指向 USHORT(typedef unsigned short USHORT;)的指针
  • 头文件:WinDef.h
  • 声明
typedef USHORT *PUSHORT;

PVOID

  • 指向任意类型的指针
  • 头文件:WinNT.h
  • 声明
typedef void *PVOID;

PWCHAR

  • 指向 WCHAR(typedef wchar_t WCHAR;)的指针
  • 头文件:WinNT.h
  • 声明
typedef WCHAR *PWCHAR;

WORD

  • 指向 WCHAR(typedef unsigned short WORD;)的指针
  • 头文件:WinDef.h
  • 声明
typedef WORD *PWORD;

PWSTR

  • 指向以 null 结尾的 16 位 Unicode 字符字符串的指针。 有关详细信息,请参阅 字体使用的字符集
  • 头文件:WinNT.h
  • 声明
typedef WCHAR *PWSTR;

QWORD

  • 64 位无符号整数
  • 声明
typedef unsigned __int64 QWORD;

SC_HANDLE

  • 服务控制管理器数据库的句柄。 有关详细信息,请参阅 SCM 句柄
  • 头文件:WinSvc.h
  • 声明
typedef HANDLE SC_HANDLE;

SC_LOCK

  • 服务控制管理器数据库的锁。 有关详细信息,请参阅 SCM 句柄
  • 头文件:WinSvc.h
  • 声明
typedef LPVOID SC_LOCK;

SERVICE_STATUS_HANDLE

  • 服务状态值的句柄。 有关详细信息,请参阅 SCM 句柄
  • 头文件:WinSvc.h
  • 声明
typedef HANDLE SERVICE_STATUS_HANDLE;

SHORT

  • 16 位整数。 范围为 -32768 到 32767 十进制
  • 头文件:WinNT.h
  • 声明
typedef short SHORT;

SIZE_T

  • 指针可以指向的最大字节数。用于必须跨越指针的全部范围的计数
  • 头文件:BaseTsd.h
  • 声明
typedef ULONG_PTR SIZE_T;

SSIZE_T

  • SIZE_T的signed版本
  • 头文件:BaseTsd.h
  • 声明
typedef LONG_PTR SSIZE_T;

TBYTE

  • 如果定义了 UNICODE,则为 WCHAR;否则为 CHAR
  • 头文件:WinNT.h
  • 声明
#ifdef UNICODEtypedef WCHAR TBYTE;
#elsetypedef unsigned char TBYTE;
#endif

TCHAR

  • 如果定义了 UNICODE,则为 WCHAR;否则为 CHAR
  • 头文件:WinNT.h
  • 声明
#ifdef UNICODEtypedef WCHAR TCHAR;
#elsetypedef char TCHAR;
#endif

UCHAR

  • An unsigned CHAR.
  • 头文件:WinDef.h
  • 声明
typedef unsigned char UCHAR;

UHALF_PTR

  • 无符号 HALF_PTR。 在包含指针和两个小字段的结构中使用
  • 头文件:BaseTsd.h
  • 声明
#ifdef _WIN64typedef unsigned int UHALF_PTR;
#elsetypedef unsigned short UHALF_PTR;
#endif

UINT

  • An unsigned INT(typedef int INT;).
  • 头文件:WinDef.h
  • 声明
typedef unsigned int UINT;

UINT_PTR

  • An unsigned INT_PTR.
  • 头文件:BaseTsd.h
  • 声明
#if defined(_WIN64)typedef unsigned __int64 UINT_PTR;
#elsetypedef unsigned int UINT_PTR;
#endif

UINT8

  • An unsigned INT8(typedef signed char INT8;).
  • 头文件:BaseTsd.h
  • 声明
typedef unsigned char UINT8;

UINT16

  • An unsigned INT16(typedef signed short INT16;).
  • 头文件:BaseTsd.h
  • 声明
typedef unsigned short UINT16;

UINT32

  • An unsigned INT32(typedef signed int INT32;).
  • 头文件:BaseTsd.h
  • 声明
typedef unsigned int UINT32;

UINT64

  • An unsigned INT64(typedef signed __int64 INT64;).
  • 头文件:BaseTsd.h
  • 声明
typedef unsigned __int64 UINT64;

ULONG

  • An unsigned LONG(typedef long LONG;).
  • 头文件:WinDef.h
  • 声明
typedef unsigned long ULONG;

ULONGLONG

  • 64 位无符号整数。 范围为 0 到十进制18446744073709551615
  • 头文件:WinNT.h
  • 声明
#if !defined(_M_IX86)typedef unsigned __int64 ULONGLONG;
#elsetypedef double ULONGLONG;
#endif

ULONG_PTR

  • 无符号 LONG_PTR
  • 头文件:BaseTsd.h
  • 声明
#if defined(_WIN64)typedef unsigned __int64 ULONG_PTR;
#elsetypedef unsigned long ULONG_PTR;
#endif

ULONG32

  • 无符号 LONG32
  • 头文件:BaseTsd.h
  • 声明
typedef unsigned int ULONG32;

ULONG64

  • 无符号 LONG64
  • 头文件:BaseTsd.h
  • 声明
typedef unsigned __int64 ULONG64;

UNICODE_STRING

  • 一个 Unicode 字符串
  • 头文件:Winternl.h
  • 声明
typedef struct _UNICODE_STRING {USHORT  Length;USHORT  MaximumLength;PWSTR  Buffer;
} UNICODE_STRING;
typedef UNICODE_STRING *PUNICODE_STRING;
typedef const UNICODE_STRING *PCUNICODE_STRING;

USHORT

  • 无符号 SHORT。 范围为 0 到 65535 十进制
  • 头文件:WinDef.h
  • 声明
typedef unsigned short USHORT;

USN

  • 更新序列号 (An update sequence number,USN)
  • 头文件:WinNT.h
  • 声明
typedef LONGLONG USN;

VOID

  • 任何类型
  • 头文件:WinNT.h
  • 声明
#define VOID void

WCHAR

  • 16 位 Unicode 字符。 有关详细信息,请参阅 字体使用的字符集
  • 头文件:WinNT.h
  • 声明
typedef wchar_t WCHAR;

WINAPI

  • 系统函数的调用约定
  • 头文件:WinDef.h
  • 声明
#define WINAPI __stdcall
  • CALLBACKWINAPIAPIENTRY都是用来定义具有__stdcall调用惯例的函数。Windows API中的大多数函数是用WINAPI声明的。你可能希望对你实现的回调函数使用CALLBACK,以帮助识别该函数是回调函数

WORD

  • 16 位无符号整数。 范围为 0 到 65535 十进制
  • 头文件:WinDef.h
  • 声明
typedef unsigned short WORD;

WPARAM

  • 消息参数
  • 头文件:WinDef.h
  • 声明
typedef UINT_PTR WPARAM;

相关文章:

Windows 数据类型 (Windows Data Types)

参考:https://learn.microsoft.com/en-us/windows/win32/winprog/windows-data-types 要求 要求值最低受支持的客户端Windows XP [仅限桌面应用]最低受支持的服务器Windows Server 2003 [仅限桌面应用]HeaderBaseTsd.h;WinDef.h;WinNT.hAPIENTRY 系统函数的调用约…...

九龙证券|本周5只新股申购,特斯拉、蔚来、理想的供应商来A股了!

据现在组织,2月13日到17日共有5只新股申购,其间上证主板2只,深证主板1只,北交所2只。 2月14日发动打新的深证主板新股多利科技成立于2010年,是一家专心于轿车冲压零部件及相关模具的开发、出产与出售的企业。从2020年…...

设计模式(持续更新)

本文主要是记录java的设计模式在实际工作中的应用案例,或者是对设计模式的个人理解及备忘 一、单例模式Singleton 工作场景(静态类): 在外部系统对接中,需要调用外部系统A的接口,但是接口是有身份校验的…...

Prometheus 告警规则

Prometheus 告警规则 Prometheus官方内置的第三方报警通知包括:邮件、 即时通讯软件(如Slack、Hipchat)、移动应用消息推送(如Pushover)和自动化运维工具(例如:Pagerduty、Opsgenie、Victorops) Promethe…...

mulesoft MCIA 破釜沉舟备考 2023.02.13.02

mulesoft MCIA 破釜沉舟备考 2023.02.13.03 1. According to MuleSoft, which deployment charcateristic applies to a microservices application architecture?2. A mule application designed to fulfil two requirements3. A mule application must periodically process…...

获取DLL运行时路径的方法

之前项目中发现的问题,记录下解决方案1. 问题背景OVVRNTool项目中,底层图像基本操作功能由DLL库函数提供,上层基于DLL封装了两个应用CMD和GUI,然后通过Qt打包分发;发布是直接采用绿色免安装的方式打包,具体…...

“华为杯”研究生数学建模竞赛2006年-【华为杯】D题:学生面试中教师安排的优化与算法(附获奖论文)

赛题描述 高校自主招生是高考改革中的一项新生事物,现在仍处于探索阶段。某高校拟在全面衡量考生的高中学习成绩及综合表现后再采用专家面试的方式决定录取与否。该校在今年自主招生中,经过初选合格进入面试的考生有N人,拟聘请老师M人。每位学生要分别接受4位老师(简称该学…...

【JavaScript】复习 【对象参数】【函数参数】

js不会检查任何参数类型,任何参数都可以作为参数传递 1、对象参数 改变量随便改,改对象要看这个对象是不是有多个变量同时指向这个对象 const 用来定义常量,只能赋值一次。 变量------->对象------->属性 被const修饰的对象 …...

如何批量提取文件名到excel表格?

批量提取文件名到excel表格?关于这个问题相信很多人都遇到过,大多数人在第一次碰到的时候都不知道如何下手,大家都会立即在百度里面搜索相关方法教程,小编也试着搜索了一下,发现找到的很多方法都大同小异,需…...

CUDA线程层次一文搞懂|参加CUDA线上训练营

设备术语 Host:CPU 和 内存 (host memory)Device:GPU 和显存 (device memory) CUDA 线程层次 CUDA 线程层次分为: Thread 所有线程执行相同的核函数并行执行 Thread Block 执行在一个 Streaming Multiprocessor (SM&#xff09…...

Linux文件默认权限:umask

umask就是指定目前用户在建立文件或目录时候的权限默认值 查看方式有两种:一种可以直接输入umask,就可以看到数字类型的权限设置值,一种则是加入umask后加入-S(Symbolic)选项,就会以符号类型的方式来显示出…...

SonicWall:请立即修复SMA 1000 漏洞

近日,网络安全供应商SonicWall发布了关于安全移动访问 (SMA) 1000设备的三个安全漏洞的紧急报告,其中包括一个高威胁性的身份验证绕过漏洞。SonicWall指出,攻击者可以利用这些漏洞绕过授权,并可能破坏易受攻击的设备。 从报告中可…...

基于VS调试分析 + 堆栈观察问题代码段

文章目录问题代码段1 —— 阶乘之和问题代码段2 —— 越界的危害① 发现问题② 分析问题③ 思考问题【⭐堆栈原理⭐】④ 解决问题【DeBug与Release】👨程序员与测试人员👩✒总结与提炼问题代码段1 —— 阶乘之和 先来看一道C语言中比较基础的题目&#x…...

QFramework框架学习

主要学习内容TypeEventSystemActionKitTimer类1、TypeEventSystem-适用于一个条件触发,多个组件响应的情况例如:动物园系统中,点击肉食动物按钮,动物园中有肉食属性的动物都进行显示。步骤:1、动物自身脚本上进行判断是…...

移动OA系统,联动企业协作让办公高效无间断

移动oa系统,近年来随着企业办公节奏的变化及人们个性化办公需求的增加迎来了快速发展。一方面,它兼具OA系统诸多优势,既凝聚了企业基础管理工作,联动了企业协作、沟通交流,又进一步提高了企业的综合实力与市场竞争力。…...

结构体熟练掌握--实现通讯录

魔王的介绍:😶‍🌫️一名双非本科大一小白。魔王的目标:🤯努力赶上周围卷王的脚步。魔王的主页:🔥🔥🔥大魔王.🔥🔥🔥 ❤️‍&#x1…...

腾讯云CVM服务器购买流程手把手方法教程攻略

​购买腾讯云服务器有两种方式。一种是在官方活动中,简单方便,但ECS配置相对固定;另一种是在ECS页面定制购买。配置选项丰富,但地理可用性区域、计费模式、CPU内存实例规格、映像系统、存储系统磁盘、网络带宽和安全组的选择更为复…...

九龙证券|“春季躁动”行情要来?1月新增投资者数大增

新增投资者数量在上一年12月触及多年新低后,2023年1月份开端呈现反弹。 在新增投资者数量之外,近段时刻以来,包含A股商场股票成交额、北向资金净买入额、两融资金规划及成交额在内多个商场目标也呈现回暖的特征,目前A股商场交投氛…...

C语言(按位运算符和位移运算符)

目录 ​编辑 一.按位运算符 1.二进制反码或按位取反&#xff1a;~ 2.按位与&#xff1a;& 3.按位或&#xff1a;| 4.按位异或&#xff1a;^ 二.位移运算符 1.左移&#xff1a; << 2.右移&#xff1a; >> 一.按位运算符 C有四个按位逻辑运算符都用于整…...

删掉的照片怎么恢复?

每一张照片都是生活&#xff0c;留住每一个人的回忆。而这些有意义的照片&#xff0c;我们都会把它保存在我们的手机或电脑上&#xff0c;始终伴随着我们。但无论是手机还是电脑&#xff0c;都是需要时不时清理一下的。如果是清理垃圾图片时&#xff0c;不小心删除了需要的图片…...

【java】40 个 SpringBoot 常用注解(建议收藏)

本文目录一、Spring Web MVC 注解Spring Web MVC 注解RequestMappingRequestBodyGetMappingPostMappingPutMappingDeleteMappingPatchMappingControllerAdviceResponseBodyExceptionHandlerResponseStatusPathVariableRequestParamControllerRestControllerModelAttributeCross…...

【JMC】SMILES‑based deep generative scafold decorator for de‑novo drug design

SMILES-based deep generative scaffold decorator for de-novo drug design 基于SMILES的利用Fragment的分子生成模型 https://github.com/undeadpixel/reinvent-scaffold-decorator 1.背景 深度生成模型因其可以从有限的数量中生成新数据&#xff0c;目前已成功应用于生成…...

全链路异步,让你的 SpringCloud 性能优化10倍+

背景 随着业务的发展&#xff0c;微服务应用的流量越来越大&#xff0c;使用到的资源也越来越多。 在微服务架构下&#xff0c;大量的应用都是 SpringCloud 分布式架构&#xff0c;这种架构&#xff0c;总体是全链路同步模式。 同步编程模式不仅造成了资源的极大浪费&#x…...

131.《router v 5 与 react-router v 6》

文章目录1.什么是路由2.路由分类3.react-router-dom的理解4. react-router-dom相关API5.其他6. react-router5 路由基本使用1.效果2.代码App.js一级路由home.js下的二级路由7.路由传参的三种方式8.react-router6 基本使用1.一级路由2.二级路由3.hooksuseRoutesuseParamsuseSear…...

2023第十届北京老年产业博览会/中国养老护理人才培育计划

CBIAIE北京老博会&#xff0c;打造2023年度唯具参展价值的老年行业盛会&#xff1b; 北京老博会&#xff1a;2011年&#xff0c;我国首场以“老年产业”为主题&#xff0c;一场专注于老年福祉、健康的国际型行业发展盛会&#xff0c;中国&#xff08;北京&#xff09;国际老年…...

STM32F407VET6 / BLACK_F407VE开发板间隔0.5秒不断重启

有一块 STM32F407VET6 的故障开发板, 之前的问题是经常无法烧录, 必须reset之后才能连接, 具体查看这篇 STM32F407VET6烧录出现flash download failed target dll has been cancelled. 并且程序运行一段时间后会halt. 这块开发板后来一直搁箱底吃灰了几年. 最近打算把这片 STM…...

什么是圈复杂度

圈复杂度是一种软件度量指标&#xff0c;用于度量程序中的控制流程的复杂性。它是通过计算程序中独立路径的数量来确定的。简单来说&#xff0c;圈复杂度是指在一个函数或模块中有多少个独立的路径&#xff0c;也就是说&#xff0c;有多少个不同的输入序列可以导致不同的执行路…...

Hbase 数据迁移

Hbase 数据迁移 可选方案对比 l 已验证方案操作说明&#xff1a; n Export&import u 导出命令及示例 hbase org.apache.hadoop.hbase.mapreduce.Export “表名” 文件路径 导出至本地文件系统&#xff1a; ./bin/hbase org.apache.hadoop.hbase.mapreduce.Export ‘defa…...

Docker consul的容器服务更新与发现

一、Consul概述&#xff08;1&#xff09;什么是服务注册与发现服务注册与发现是微服务架构中不可或缺的重要组件。起初服务都是单节点的&#xff0c;不保障高可用性&#xff0c;也不考虑服务的压力承载&#xff0c;服务之间调用单纯的通过接口访问。直到后来出现了多个节点的分…...

数据库关系模型

关系模型简述 形象地说&#xff0c;一个关系就是一个table。 关系模型就是处理table的&#xff0c;它由三个部分组成&#xff1a; 描述DB各种数据的基本结构形式&#xff1b;描述table与table之间所可能发生的各种操作&#xff1b;描述这些操作所应遵循的约束条件&#xff1…...

网站制作ppt/seo矩阵培训

list [("你好",{"a":1,"b":2})] for ok,value in list:print(ok)print(value)   结果&#xff1a; 搞定&#xff0c;是不是很快。 转载于:https://www.cnblogs.com/fh-fendou/p/7575426.html...

HTTPS网站做CDN加速/哈尔滨seo优化软件

文章目录知识点解决思路案例知识点 如果字段有数据&#xff0c;则oracle不允许直接修改表的字段类型如果字段没有数据&#xff0c;可以修改表字段类型 解决思路 先对原来的字段从命名添加一个新的字段&#xff0c;跟原来字段名字一致&#xff0c;添加备注将数据复制到新的字…...

wordpress多语言生成工具/百度收录提交网址

原文 http://www.cnblogs.com/meteoric_cry/p/4285881.html主题 curllibcurl参数很多&#xff0c;一不小心就容易遇到问题。曾经就遇到过一个很蛋疼的问题&#xff1a;libcurl断点下载>> 这里主要汇总一下&#xff0c;libcurl上传的二种方式&#xff1a; 1、直接上传文件…...

手机端做网站软件/百度邮箱登录入口

我有以下代码使用SSL将服务器与客户端连接&#xff0c;现在我想添加客户端身份验证&#xff1a;(我有一个服务器密钥库(JCEKS类型)和一个客户端密钥库(JKS类型)&#xff0c;服务器使用了一个信任库(证书)&#xff0c;在其中我导入了两个证书&#xff0c;因为我也想使用此信任库…...

营销型网站建设专家/seo专员是什么

jmeter 脚本录制 ******************* 脚本录制 浏览器设置代理&#xff1a;工具 > internet 选项 > 连接 > 局域网设置 注意&#xff1a;录制完成后需要关闭代理&#xff0c;否则无法上网 jmeter 测试计划添加线程组、http cookie管理器 测试计划 > 非测试元件 &…...

武汉手机网站建设动态/做互联网项目怎么推广

丰 顺 论 坛 丰顺人都在看丰顺高铁啥时候能通车&#xff1f;当然是越快越好呀~小编这么说当然是有好事汇报昨天(4月17日)咱们离梅汕高铁通车又更近一步啦(戳视频&#xff0c;看咋回事)放大观看效果更佳☟☟☟记者从中铁二局梅汕项目部获悉广东省最长在建铁路隧道丰顺隧道于日前…...