//c++:HANDLE(void
//c++:Byte(unsigned
//c++:SHORT(short)
//c++:WORD(unsigned
//c++:INT(int)
//c++:UINT(unsigned
//c++:UINT(unsigned
//c++:LONG(long)
//c++:ULONG(unsigned
//c++:DWORD(unsigned
//c++:DECIMAL
//c++:BOOL(long)
//c++:CHAR(char)
//c++:LPSTR(char
//c++:LPWSTR(wchar_t
//c++:LPCSTR(const
//c++:LPCWSTR(const
//c++:PCAHR(char
//c++:BSTR
//c++:FLOAT(float)
//c++:DOUBLE(double)
//c++:VARIANT
//c++:PBYTE(byte
//c++:BSTR
//c++:LPCTSTR
//c++:LPCTSTR
//c++:LPTSTR
//c++:LPTSTR 输出变量名
//c++:LPCWSTR
//c++:BOOL
//c++:HMODULE
//c++:HINSTANCE ----
//c++:结构体
//c++:结构体 **变量名
//C#中提前申明一个结构体实例化后的变量名
//c++:结构体 &变量名
//c++:WORD
//c++:DWORD
//c++:DWORD
//c++:UCHAR
//c++:UCHAR
//c++:UCHAR*
//c++:UCHAR*
//c++:GUID
//c++:Handle
//c++:HWND
//c++:DWORD
//c++:COLORREF
//c++:unsigned char
//c++:unsigned char *
//c++:unsigned char *
//c++:unsigned char *
//c++:unsigned char &
//c++:unsigned char 变量名
//c++:unsigned short 变量名
//c++:unsigned int 变量名
//c++:unsigned long 变量名
//c++:char 变量名
//C++中一个字符用一个字节表示,C#中一个字符用两个字节表示
//c++:char 数组名[数组大小]
public string 数组名; ushort
//c++:char *
//传入参数
//c++:char *
//传出参数
//c++:char *变量名
//c++:char *输入变量名
//c++:char *输出变量名
//c++:char **
//c++:char **变量名
//c++:const char *
//c++:char[]
//c++:char 变量名[数组大小]
//c++:struct 结构体名 *变量名
//c++:委托 变量名
//c++:int
//c++:int
//c++:int &
//c++:int *
//C#中调用前需定义int 变量名 = 0;
//c++:*int
//c++:int32 PIPTR *
//c++:float PIPTR *
//c++:double** 数组名
//c++:double*[] 数组名
//c++:long
//c++:ulong
//c++:UINT8 *
//C#中调用前需定义byte 变量名 = new byte();
//c++:handle
//c++:hwnd
//c++:void *
//c++:void * user_obj_param
//c++:void * 对象名称
//c++:char, INT8, SBYTE, CHAR
//c++:short, short int, INT16, SHORT
//c++:int, long, long int, INT32, LONG32, BOOL , INT
//c++:__int64, INT64, LONGLONG
//c++:unsigned char, UINT8, UCHAR , BYTE
//c++:unsigned short, UINT16, USHORT, WORD, ATOM, WCHAR , __wchar_t
//c++:unsigned, unsigned int, UINT32, ULONG32, DWORD32, ULONG, DWORD, UINT
//c++:unsigned __int64, UINT64, DWORDLONG, ULONGLONG
//c++:float, FLOAT
//c++:double, long double, DOUBLE
//Win32 Types
//Struct需要在C#里重新定义一个Struct
//CallBack回调函数需要封装在一个委托里,delegate static extern int FunCallBack(string str);
//unsigned char** ppImage替换成IntPtr ppImage
//int& nWidth替换成ref int nWidth
//int*, int&, 则都可用 ref int 对应
//双针指类型参数,可以用 ref IntPtr
//函数指针使用c++: typedef double (*fun_type1)(double); 对应 c#:public delegate double
//char* 的操作c++: char*; 对应 c#:StringBuilder;
//c#中使用指针:在需要使用指针的地方 加 unsafe
//unsigned