C# 与 C++ 数据类型对照
C++ C#
===========================================
WORD ushort
DWORD uint
UCHAR int/byte 大部分情况都可以使用 int 代替,而如果需要严格对齐
的话则应该用 bytebyte
UCHAR* string/IntPtr
unsigned char* [MarshalAs(UnmanagedType.LPArray)]byte[]/?
(Intptr)
char* string
LPCTSTR string
LPTSTR [MarshalAs(UnmanagedType.LPTStr)] string
long int
ulong uint
Handle IntPtr
HWND IntPtr
void* IntPtr
int int
int* ref int
*int IntPtr
unsigned int uint
COLORREF uint
API 与 C#的数据类型对应关系表
API 数据类型 类型描述 C#类型 API 数据类型 类型描述 C#类型
WORD
16 位无符号整数
ushort CHAR
字符
char
LONG
32 位无符号整数
int DWORDLONG
64 位长整数
long
DWORD
32 位无符号整数
uint HDC
设备描述表句柄
int
HANDLE
句柄,32 位整数
int HGDIOBJ
GDI 对象句柄
int
UINT
32 位无符号整数
uint HINSTANCE
实例句柄
int
BOOL
32 位布尔型整数
bool HWM
窗口句柄
int
LPSTR
指向字符的 32 位指针
string HPARAM
32 位消息参数
int
LPCSTR
指向常字符的 32 位指针
String LPARAM
32 位消息参数
int
BYTE
字节
byte WPARAM
32 位消息参数
int