关于C++中委托定义的解析

mywisest 2014-04-15 03:47:47
我在C++的DLL中定义了一个字符串的委托:

typedef int (WINAPI *PFCALLBACK)(int Param1,LPCSTR Param2);

这个委托是用于函数调用的,请问这个函数指针在C#中应该如何定义并调用?

我自己定义了以下的几种委托,但是调用不成功!
public delegate int LXCallbackDelegate(UInt32 param1, string param2);

public delegate int LXCallbackDelegate(UInt32 param1, [MarshalAs(UnmanagedType.LPStr)]string param2);

[UnmanagedFunctionPointer(CallingConvention.Winapi)]
public delegate int LXCallbackDelegate(UInt32 param1, [MarshalAs(UnmanagedType.LPStr)]string param2);


希望能有人能够给指导一下,谢谢!
...全文
134 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xian_wwq 2014-04-25
  • 打赏
  • 举报
回复
类型一一对应就没有问题 c++ int c# int c++ LPCSTR c# string 会不会是在调用委托的API定义中有什么没有注意到,如 CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall
mywisest 2014-04-25
  • 打赏
  • 举报
回复
这么高的分,竟然真的没人理~~~~
mywisest 2014-04-17
  • 打赏
  • 举报
回复
难道这个问题很高级?竟然没人理~~~

110,568

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧