日期:2014-05-18  浏览次数:20728 次

关于C#调用C++动态库时数据类型转换的问题,详见图片说明。
关于C#调用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
------解决方案--------------------
并没有你想的那么难
C# code
[In, Out] Byte[] _VerCode