C# 如何调用C++ dll中的函数 5

c++中又一个函数定义定义如下:intLogout(constchar*realm,ILogoutListener*listener);其中ILogoutListener... c++ 中又一个函数定义定义如下:
int Logout(const char* realm,ILogoutListener* listener);
其中ILogoutListener 需要被实现 void OnLogoutResult(int errorCode )方法 errorCode ==1 表示登出成功。
我想知道的是 ILoginoutListener 在C#中应该如何实现。
展开
 我来答
书飞凝683
2016-06-01 · TA获得超过1518个赞
知道大有可为答主
回答量:2250
采纳率:83%
帮助的人:461万
展开全部
调用格式如下:

[DllImport("ex.dll", EntryPoint = "method")]
public static extern void method(int a);
其中ex.dll为C++DLL名,method为函数名, 这里的int a为C++中方法的参数转换。
例:C++DLL名:Interface.dll,函数为voidCopMemFree(void *vp);
调用格式为:

[DllImport("Interface.dll", EntryPoint = "CopMemFree")]
public static extern void CopMemFree(IntPtr vp);

其实C#调用C++dll主要就是C++与C#的参数转换比较困难。
追问
我知道是参数转换的问题,我想说的是像下面这个方法中的 ILogoutListener*  这个参数怎么转换
int Logout(const char* realm,ILogoutListener* listener);
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式