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  

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[] 

PLCID=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 

中的非托管类型

    

非托管

语言类型

    

托管类名

       

说明

  

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 


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值