C#调用 代码
//声明
public delegate void MyDllCall(string buf,int size);
//设置回调函数
[DllImport("MatrixCtrl.dll", EntryPoint = "MatrixSetCallback")]
static extern bool MatrixSetCallback(MyDllCall fa);
//声明回调的函数
public void FunA(string buf, int size)
{
MessageBox.Show(buf);
return ;
}
//调用
MatrixSetCallback(FunA);
C++dll
//声明
typedef bool (CALLBACK *MatrixReceive)(char *pBuf, int nBufSize);
MatrixReceive m_RecInfoCall ; //回复信息的回调函数
/************************************************************************/
/*设置回调函数
*/
/************************************************************************/
extern "C"__declspec(dllexport)BOOL WINAPI MatrixSetCallback(MatrixReceive InfoReceive)
{
g_MFCMatrix.m_RecInfoCall = InfoReceive;
return TRUE;
}
g_MFCMatrix类中调用
m_RecInfoCall(recv,nLen); //recv 为 char *, nLen 为 int
完