日期:2014-05-19  浏览次数:20852 次

C#调用SDK函数的问题.
手头上有个C++写的SDK开发包,其中某个接口定义如下:

===================================================================
typedef   void   (CALLBACK   *fDisConnect)(LONG   lLoginID,   char   *pchDVRIP,   LONG   nDVRPort,   DWORD   dwUser);

1. CLIENT_API   BOOL   CLIENT_Init(fDisConnect   cbDisConnect,   DWORD   dwUser);
 函数说明:初始化SDK,   在所有的SDK函数之前调用
 参数:fDisConnect断线回调函数,回调出检测到当前网络已经断开的设备,对主动logout的设备不回调;   设置为0时禁示回调,
dwUser断线回调的用户数据
 返回值:成功返回TRUE,不成功返回FALSE
 相关函数:CLIENT_Cleanup
 典型应用:在应用程序初始化时调用
====================================================================

请问:如何在C#里调用该函数?

------解决方案--------------------
你需要一个p/invoke(平台调用),主要就是对你这个SDK/DLL的借口写一个托管的借口签名,建议你参考一下
http://www.pinvoke.net/ 这是一个针对windows系统API的平台调用的网站,当然上面没有你需要的东西,但是可以看看是怎么写的。
http://www.paulyao.com/resources/tools/pinvoke.asp 这是一个写pinovke签名用的工具,应该可以帮你的忙。
------解决方案--------------------
虽然不会 但是帮顶