C#与C/C++数据类型对应关系

来源:互联网 发布:原创反转故事知乎 编辑:程序博客网 时间:2024/05/20 19:32
C#中调用Windows API时的数据类型对应关系                        http://sunjinming85.blog.163.com/blog/static/1211957520105119227850/

BOOL=System.Int32 BOOLEAN=System.Int32 BYTE=System.UInt16
CHAR=System.Int16 COLORREF=System.UInt32 DWORD=System.UInt32
DWORD32=System.UInt32 DWORD64=System.UInt64 FLOAT=System.Float
HACCEL=System.IntPtr HANDLE=System.IntPtr HBITMAP=System.IntPtr
HBRUSH=System.IntPtr HCONV=System.IntPtr HCONVLIST=System.IntPtr
HCURSOR=System.IntPtr HDC=System.IntPtr HDDEDATA=System.IntPtr
HDESK=System.IntPtr HDROP=System.IntPtr HDWP=System.IntPtr
HENHMETAFILE=System.IntPtr HFILE=System.IntPtr HFONT=System.IntPtr
HGDIOBJ=System.IntPtr HGLOBAL=System.IntPtr HHOOK=System.IntPtr
HICON=System.IntPtr HIMAGELIST=System.IntPtr HIMC=System.IntPtr
HINSTANCE=System.IntPtr HKEY=System.IntPtr HLOCAL=System.IntPtr
HMENU=System.IntPtr HMETAFILE=System.IntPtr HMODULE=System.IntPtr
HMONITOR=System.IntPtr HPALETTE=System.IntPtr HPEN=System.IntPtr
HRGN=System.IntPtr HRSRC=System.IntPtr HSZ=System.IntPtr
HWINSTA=System.IntPtr HWND=System.IntPtr INT=System.Int32
INT32=System.Int32 INT64=System.Int64 LONG=System.Int32
LONG32=System.Int32 LONG64=System.Int64 LONGLONG=System.Int64
LPARAM=System.IntPtr LPBOOL=System.Int16[] LPBYTE=System.UInt16[]
LPCOLORREF=System.UInt32[] LPCSTR=System.String LPCTSTR=System.String
LPCVOID=System.UInt32 LPCWSTR=System.String LPDWORD=System.UInt32[]
LPHANDLE=System.UInt32 LPINT=System.Int32[] LPLONG=System.Int32[]
LPSTR=System.String LPTSTR=System.String LPVOID=System.UInt32
LPWORD=System.Int32[] LPWSTR=System.String LRESULT=System.IntPtr
PBOOL=System.Int16[] PBOOLEAN=System.Int16[] PBYTE=System.UInt16[]
PCHAR=System.Char[] PCSTR=System.String PCTSTR=System.String
PCWCH=System.UInt32 PCWSTR=System.UInt32 PDWORD=System.Int32[]
PFLOAT=System.Float[] PHANDLE=System.UInt32 PHKEY=System.UInt32
PINT=System.Int32[] ID=System.UInt32 PLONG=System.Int32[]
PLUID=System.UInt32 PSHORT=System.Int16[] PSTR=System.String
PTBYTE=System.Char[] PTCHAR=System.Char[] PTSTR=System.String
PUCHAR=System.Char[] PUINT=System.UInt32[] PULONG=System.UInt32[]
PUSHORT=System.UInt16[] PVOID=System.UInt32 PWCHAR=System.Char[]
PWORD=System.Int16[] PWSTR=System.String REGSAM=System.UInt32
SC_HANDLE=System.IntPtr SC_LOCK=System.IntPtr SHORT=System.Int16
SIZE_T=System.UInt32 SSIZE_=System.UInt32 TBYTE=System.Char
TCHAR=System.Char UCHAR=System.Byte UINT=System.UInt32
UINT32=System.UInt32 UINT64=System.UInt64 ULONG=System.UInt32
ULONG32=System.UInt32 ULONG64=System.UInt64 ULONGLONG=System.UInt64
USHORT=System.UInt16 WORD=System.UInt16 WPARAM=System.IntPtr


<---------补充----------->
Wtypes.h 中的 非托管C 语言类型 托管类名 说明
非托管类型
HANDLE void* System.IntPtr 32 位
BYTE unsigned char System.Byte 8 位
SHORT short System.Int16 16 位
WORD unsigned short System.UInt16 16 位
INT int System.Int32 32 位
UINT unsigned int System.UInt32 32 位
LONG long System.Int32 32 位
BOOL long System.Int32 32 位
DWORD unsigned long System.UInt32 32 位
ULONG unsigned long System.UInt32 32 位
CHAR char System.Char 用 ANSI 修饰。
LPSTR char* System.String 或 System.StringBuilder 用 ANSI 修饰。
LPCSTR Const char* System.String 或 System.StringBuilder 用 ANSI 修饰。
LPWSTR wchar_t* System.String 或 System.StringBuilder 用 Unicode 修饰。
LPCWSTR Const wchar_t* System.String 或 System.StringBuilder 用 Unicode 修饰。
FLOAT Float System.Single 32 位
DOUBLE Double System.Double 64 位
原创粉丝点击