当前位置: 代码迷 >> VC >> error C2664: 请大伙帮帮忙
  详细解决方案

error C2664: 请大伙帮帮忙

热度:2563   发布时间:2013-02-25 00:00:00.0
error C2664: 请大家帮帮忙啊

我调用以前VC6写的DLL中的CALLBACK,按照MSDN上做法如下
delegate void MyRealDataCallBack(参数);//委托

::jiankong::Frm_juzheng ^ MyFrm_junzheng = gcnew ::jiankong::Frm_juzheng; 
MyRealDataCallBack^ f=gcnew  MyRealDataCallBack(&jiankong::Frm_juzheng::RealDataCallBack); 
m_lPlayHandle = NET_DVR_RealPlay_V30(lUserID, &struPlayInfo,f,NULL, bPreviewBlock);

static void CALLBACK RealDataCallBack(参数){todo}

编译无法通过啊!出错信息如下

error C2664: “NET_DVR_RealPlay_V30”: 不能将参数 3 从“jiankong::MyRealDataCallBack ^”转换为“void (__stdcall *)(LONG,DWORD,BYTE *,DWORD,void *)”
------解决方案--------------------------------------------------------
委托必须是托管函数
------解决方案--------------------------------------------------------


参考msdn:
Registering Callback Methods
http://msdn.microsoft.com/en-us/library/aa288468(v=vs.71).aspx#pinvoke_registeringcallback
  相关解决方案