Windows 数据类型 (Windows Data Types)
参考:https://learn.microsoft.com/en-us/windows/win32/winprog/windows-data-types
- 要求
| 要求 | 值 |
|---|---|
| 最低受支持的客户端 | Windows XP [仅限桌面应用] |
| 最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
| Header | BaseTsd.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
- 布尔变量 (应为 TRUE 或 FALSE)
- 头文件:WinDef.h
- 声明
typedef int BOOL;
BOOLEAN
- 布尔变量 (应为 TRUE 或 FALSE)
- 头文件:WinNT.h
- 声明
typedef BYTE BOOLEAN;
BYTE
- 8位字节
- 头文件:WinDef.h
- 声明
typedef unsigned char BYTE;
CALLBACK
- 回调函数的调用
- 头文件:WinDef.h
- 声明
#define CALLBACK __stdcall
- CALLBACK、 WINAPI 和 APIENTRY 都用于定义具有__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
- 实例的句柄。 这是内存中模块的基址。
HMODULE 和 HINSTANCE 目前相同,但在 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
- 模块的句柄。 这是内存中模块的基址。
HMODULE 和 HINSTANCE 在当前版本的 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
- CALLBACK、WINAPI和APIENTRY都是用来定义具有__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)…...
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系统诸多优势,既凝聚了企业基础管理工作,联动了企业协作、沟通交流,又进一步提高了企业的综合实力与市场竞争力。…...
结构体熟练掌握--实现通讯录
魔王的介绍:😶🌫️一名双非本科大一小白。魔王的目标:🤯努力赶上周围卷王的脚步。魔王的主页:🔥🔥🔥大魔王.🔥🔥🔥 ❤️…...
腾讯云CVM服务器购买流程手把手方法教程攻略
购买腾讯云服务器有两种方式。一种是在官方活动中,简单方便,但ECS配置相对固定;另一种是在ECS页面定制购买。配置选项丰富,但地理可用性区域、计费模式、CPU内存实例规格、映像系统、存储系统磁盘、网络带宽和安全组的选择更为复…...
九龙证券|“春季躁动”行情要来?1月新增投资者数大增
新增投资者数量在上一年12月触及多年新低后,2023年1月份开端呈现反弹。 在新增投资者数量之外,近段时刻以来,包含A股商场股票成交额、北向资金净买入额、两融资金规划及成交额在内多个商场目标也呈现回暖的特征,目前A股商场交投氛…...
C语言(按位运算符和位移运算符)
目录 编辑 一.按位运算符 1.二进制反码或按位取反:~ 2.按位与:& 3.按位或:| 4.按位异或:^ 二.位移运算符 1.左移: << 2.右移: >> 一.按位运算符 C有四个按位逻辑运算符都用于整…...
删掉的照片怎么恢复?
每一张照片都是生活,留住每一个人的回忆。而这些有意义的照片,我们都会把它保存在我们的手机或电脑上,始终伴随着我们。但无论是手机还是电脑,都是需要时不时清理一下的。如果是清理垃圾图片时,不小心删除了需要的图片…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...
【AI学习】三、AI算法中的向量
在人工智能(AI)算法中,向量(Vector)是一种将现实世界中的数据(如图像、文本、音频等)转化为计算机可处理的数值型特征表示的工具。它是连接人类认知(如语义、视觉特征)与…...
Unit 1 深度强化学习简介
Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
【Linux】Linux 系统默认的目录及作用说明
博主介绍:✌全网粉丝23W,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...
站群服务器的应用场景都有哪些?
站群服务器主要是为了多个网站的托管和管理所设计的,可以通过集中管理和高效资源的分配,来支持多个独立的网站同时运行,让每一个网站都可以分配到独立的IP地址,避免出现IP关联的风险,用户还可以通过控制面板进行管理功…...
【Linux】自动化构建-Make/Makefile
前言 上文我们讲到了Linux中的编译器gcc/g 【Linux】编译器gcc/g及其库的详细介绍-CSDN博客 本来我们将一个对于编译来说很重要的工具:make/makfile 1.背景 在一个工程中源文件不计其数,其按类型、功能、模块分别放在若干个目录中,mak…...
阿里云Ubuntu 22.04 64位搭建Flask流程(亲测)
cd /home 进入home盘 安装虚拟环境: 1、安装virtualenv pip install virtualenv 2.创建新的虚拟环境: virtualenv myenv 3、激活虚拟环境(激活环境可以在当前环境下安装包) source myenv/bin/activate 此时,终端…...
PostgreSQL 与 SQL 基础:为 Fast API 打下数据基础
在构建任何动态、数据驱动的Web API时,一个稳定高效的数据存储方案是不可或缺的。对于使用Python FastAPI的开发者来说,深入理解关系型数据库的工作原理、掌握SQL这门与数据库“对话”的语言,以及学会如何在Python中操作数据库,是…...
