首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#调用C++动态库时参数部类这样转换对吗

2012-06-22 
C#调用C++动态库时参数类型这样转换对吗?C++接口是:int OneUser_Comm(int ie,int ma,unsigned long ID,CSt

C#调用C++动态库时参数类型这样转换对吗?
C++接口是:int OneUser_Comm(int ie,int ma,unsigned long ID,CString Content)
这样调有问题吗?
[Dllimport("XXX.dll")]
int OneUser_Comm(int ie,int ma,ulong ID,string Content)
为什么提示 尝试写入受保护的内存


[解决办法]
CString 类型,貌似不能直接调用
[解决办法]

探讨
引用:

CString 类型,貌似不能直接调用


那怎么用,还要怎么转换吗?

[解决办法]
CString 是mfc的类吧,没法在P/Invoke中使用。

要用char* 或者unsigned char*什么的。
[解决办法]
这里是DataType的映射:
Platform Invoke Data Types
http://msdn.microsoft.com/en-us/library/ac7ay120.aspx

热点排行