C#调用C的dll文件问题

wtnu200 2013-05-08 10:21:31
现在我有个C写的c.dll文件,想在C#里调用,有一个函数是传给结构体的,不知道在C#中怎么写这函数。
这个函数是:
int initialize(CCallbackInterface *CCallbackInterface)
参数名 类型 描述
CCallbackInterface CCallbackInterface* 回调函数指针结构体

我在c.h里看到CCallbackInterface这结构是:

struct _CALLBACKINTERFACE{
void (*onGetCapabilityToken)();
void (*onConnected)();
void (*onConnectError)(int reason);
...
};
typedef struct _CALLBACKINTERFACE CCallbackInterface;

现在我在C#中这样用
public struct _CALLBACKINTERFACE{
void onGetCapabilityToken();
void onConnected();
void onConnectError(int reason);
...
}

[DllImport("c.dll", EntryPoint = "initialize")] //初始化
public static extern int initialize(_CALLBACKINTERFACE CCallbackInterface);

我不知道对不对,因为我不知道在窗口cs中调用这个initialize的时候_CALLBACKINTERFACE这个要怎么传,知道的指教下,谢谢
...全文
44 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
足球中国 2013-05-08
  • 打赏
  • 举报
回复
用c语言再包装一下吧。包装成一个简单点的再用。

110,534

社区成员

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

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

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