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有四个按位逻辑运算符都用于整…...
删掉的照片怎么恢复?
每一张照片都是生活,留住每一个人的回忆。而这些有意义的照片,我们都会把它保存在我们的手机或电脑上,始终伴随着我们。但无论是手机还是电脑,都是需要时不时清理一下的。如果是清理垃圾图片时,不小心删除了需要的图片…...
深入Windows内核的“心脏”:通过WRK源码理解ntoskrnl.exe与HAL的协作机制
深入Windows内核的“心脏”:通过WRK源码理解ntoskrnl.exe与HAL的协作机制 在计算机科学领域,操作系统内核堪称最复杂的软件工程之一。作为Windows操作系统的核心,ntoskrnl.exe与硬件抽象层(HAL)的协作机制长期以来都是开发者们津津乐道的话题…...
深度学习正则化(三)—— 提前终止 + 参数共享 + 稀疏表示(三十)
1. 定位导航 正则化 5 篇中,本篇承前启后: 第 28:参数范数惩罚(L1/L2)— 加在损失函数上 第 29:数据增强、噪声、半监督 — 操作数据 第 30(本篇):提前终止、参数共享、稀疏表示 — 隐式正则化 第 31:Bagging + Dropout 第 32:对抗训练 + 切面分类 本篇的三个方法表…...
基于双链笔记构建个人消费知识系统:从记录到生活策展
1. 项目概述与核心价值看到“SimonsTang/xiaofei-liberal-arts”这个项目标题,我的第一反应是,这应该是一个关于“消费”与“文科”交叉领域的知识库或工具集。作为一名长期关注效率工具和知识管理的从业者,我深知在信息爆炸的时代࿰…...
3步精通MOOTDX:量化投资数据接口实战指南
3步精通MOOTDX:量化投资数据接口实战指南 【免费下载链接】mootdx 通达信数据读取的一个简便使用封装 项目地址: https://gitcode.com/GitHub_Trending/mo/mootdx MOOTDX是一个专为量化投资和数据分析设计的Python库,它提供了高效、便捷的通达信数…...
如何在5分钟内免费掌握Windows风扇控制终极技巧
如何在5分钟内免费掌握Windows风扇控制终极技巧 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa/FanControl.Relea…...
PCIe均衡参数测量实战:从8GT/s到32GT/s,示波器上的电压怎么量?
PCIe均衡参数测量实战:从8GT/s到32GT/s的示波器操作指南 在高速串行通信领域,PCIe接口的均衡参数测量是确保信号完整性的关键环节。随着数据传输速率从8GT/s跃升至32GT/s,工程师面临的测量挑战也呈指数级增长。本文将深入探讨如何利用示波器准…...
CREO 6.0装配实战:别再乱拖零件了,手把手教你用‘移动’和‘角度偏移’精准定位
CREO 6.0装配实战:从零件乱飞到精准定位的进阶技巧 刚接触CREO装配模块的新手设计师,最常遇到的挫败感莫过于:明明在脑海中构思好了零件位置,实际操作时却总是出现零件"乱飞"、"定位不准"的情况。这种体验就像…...
Windows安卓应用安装神器:APK Installer完整使用指南
Windows安卓应用安装神器:APK Installer完整使用指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 还在为Windows电脑无法运行安卓应用而烦恼吗ÿ…...
超高清电视普及困境解析:从技术参数到生态系统的完整思考
1. 超高清电视的“非主流”开局:一场始于2013年的行业迷思 如果你在2013年初的拉斯维加斯CES展上,听到关于“Ultra HDTV”(超高清电视,后文简称UHDTV)的喧嚣,感觉就像身处一场盛大的交响乐彩排现场——乐手…...
PCB高级工艺如何降本:盲孔、微孔与HDI设计的成本优化实战
1. 项目概述:当高级PCB技术成为降本利器在硬件研发圈子里待久了,总有一个根深蒂固的印象:但凡沾上“高级”、“高密度”这些词的技术,比如盲孔、埋孔和微孔,那成本肯定是蹭蹭往上涨。我刚开始接触HDI板设计时也是这么想…...
