读书人

调用dll时怎么定义回调函数

发布时间: 2012-08-28 12:37:01 作者: rapoo

调用dll时如何定义回调函数
C++下调用以下函数

C/C++ code
int __stdcall DVSNET_SearchServers(unsigned long dwWaitTime,unsigned long dwTimes,SearchNotify pNotify,void *pcontext,const char *sLocalUrl = NULL);

其中SearchNotify参数是一个回调函数
C/C++ code
typedef void (__stdcall *SearchNotify)(int nDevType,const char *sServName,const char *sServSerial,const char *sUrl,unsigned char MacAddr[6],unsigned short wWebPort,unsigned short wDataPort,                    const char *sSubNetMask,const char *sGateWay,const char *sMultiIp,const char *sDNS,unsigned short wMultiPort,int nChCount,unsigned long bDHCP,void *pcontext);


请问在c#中该如何声明拼使用这个回调函数?



[解决办法]
用委托,例如:
delegate void SearchNotify();
SearchNotify pNotify;
[解决办法]
delegate void SearchNotify(int nDevType,string sServName,string sServSerial,string sUrl,[MarshalAs(UnmanagedType.LPArray, SizeConst = 6)]byte[] MacAddr,UInt16 wWebPort,UInt16 wDataPort,string sSubNetMask,string sGateWay,string sMultiIp,string sDNS,UInt16 wMultiPort,int nChCount,UInt64 bDHCP,IntPtr pcontext);
[解决办法]
http://wenku.baidu.com/view/9f2ef117a216147917112813.html?st=1
[解决办法]
看一下这个里面的资料。希望对你有帮助。http://wenku.baidu.com/view/9f2ef117a216147917112813.html?st=1

读书人网 >C#

热点推荐