RSS订阅优然探索
你的位置:首页 » 未分类 » 正文

c#调用c++并实现回调

选择字号: 超大 标准 发布时间:2014-11-19 16:3:21 | 作者:admin | 0个评论 | 人浏览

 

 typedef bool (CALLBACK *CareffReceive)(char *pBuf, int nBufSize);

CareffReceive m_Call ;  //回复信息的回调函数
bool m_CallTrue=false;

 

extern "C"__declspec(dllexport)BOOL WINAPI CareffCallback(CareffReceive InfoReceive)
{
 m_Call = InfoReceive;
 //int i=1001;
 //char * a = "hello";
 //m_Call(a,i);   //recv 为 char *, nLen 为 int
 m_CallTrue=true;
 return m_CallTrue;
 //m_RecInfoCall(recv,nLen);   //recv 为 char *, nLen 为 int
}

 

 

 [DllImport("CDLLTools.dll", EntryPoint = "CareffCallback")]
        static extern bool CareffCallback(CareffdelegateCall fa);
        public delegate void CareffdelegateCall(string buf, int size);

        public static void CareffDLLReturn(string sInfo, int iKey)
        {
            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine("CareffDLLReturn iKey=" + iKey.ToString() + ":sInfo=" + sInfo + "");
            Console.ForegroundColor = ConsoleColor.White;
            System.Threading.Thread.Sleep(1000);
            return;
        }

  CareffCallback(CareffDLLReturn);

 

标签:

猜你喜欢

发表评论

必填

选填

选填

必填,不填不让过哦,嘻嘻。

记住我,下次回复时不用重新输入个人信息

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。