C#调用C的dll文件问题
现在我有个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这个要怎么传,知道的指教下,谢谢